Final refactor

This was some refactoring to try and clean things out a bit with the controller as syntax more to come