revise structure