consistency with semantics