enforce some invariants on Listing