added a WithNotifyProgress extension method