add invariant