rearrange dispatch