update gen_structure