preparing refactoring