rearranged coding