some thoughts about refactoring