Refactored
Refactoring continue
Refactoring continue
After working day commit.