model usage, refactoring