revise structure of library