only changes the order of two instructions
reusing message_setup, but adding yield specific instructions