Large refactor putting controllers together to simplify