refactoring, step 1