added an invariant