solve ControllerAssignment4