refactoring to give model meaning