further rework of refactoring