refactored ControllerRouting