reorganize the structure