Incremental progress calculation

To make the progress calculation much more effective