clearer semantics