modify permission semantics