invariant
not defined yet