major redesign of ProgressMonitor code - still experimental