accurate progress bar