bug fix
add admin function