refactor1