bit more work on new semantics