some rearrange again