this is a good point, maybe a modulo on the file size that will limit the # of progress calls to some maximum