added order invariants