Code refactoring start