added userstate to ReportProgress