cleaned up create method