some more stuff to fix progress stuff by making it process asynchronously
still some problems if you select a different dataset before it finished processing the other one