added refactoring thoughts