no need for abstract controller