refactored permissions
permission_spec refactoring