publiccontroller inheritance