improved semantics