prefactoring