Refactor  - Push controller logic to model layer