refactoring: entities