added user access right checks