refactoring: model methods