rearrange interface