main invariant...