genericRefactoring