refactoring place model