added 'must_come_before' rule