refactored controllers
more refactoring