Separated out advance_batch()