Refactoring applied, functional features improved.