added semantics interfaces