Refactored create method