refactored controller and model classes