Refactorings Part I
Fix problems after rebase
Refactorings & Restructurings Part II