controller class definition