rearrange codes