public base controller