add some method to the abstract controller