Added ControllerGenerator, Refactoring