next step of refactoring