restricted method with_role