move report progress to the outer loop so progress is only reported once every 255 iterations. add error handling if file doesn't exist. disable and enable buttons appropriately.