remake the structure