better progress reporting