made the create function a little less sucky