solve ControllerAssignment3