Refactoring : changing solving approach