Added abstract controller class