better progress bar, implements #9