invars
not defined yet