Replace the evaluate function with new_evaluate