oops - better state that invariant properly!