add mp semantics