refactor baseAdminController