re-order some execution steps