refactoring1