exercise 11 new semantics