refactor to make the model classes include themselves (if they exist)