experiments with refactoring