implement the admin function