added custom access control