refactoring section 1