rearrange code.