add ProgressMonitor with progress tracking and cancel