semantic simplification impl