refactoring2