first refactors
split out some of the controller modules
first chunk of refactor