more precise progress bar