clean up controllers by adding base controller
cleanup/refactoring in progress
finish cleanup and refactor