generic_controller is now independent of the template