Next generation refactoring will start from this commit