updated base controller