refactoring models out