DRY up permissions/authorization