experimenting with refactoring