Refactoring

Controller is only there for testing purposes, so this is the start of
getting stuff done correctly