refactoring for DRY principle and pure object-orientation, moving methods to dedicated classes with specific responsibility (avoid evil all-purpose util classes)