cleaned up model creation