add progress reporting