invariants update