Some work on optimizing the progress update code