all progress blocks are now executed on the main thread