adding semantics