Refactorings & improvements
Intermediate commit