add privilege control