Restructure create methods to better use structs, add edit and update methods