Preparing major refactoring