added refactoring thoughts (moved)