code rearrangement