corrects semantics