fix progress calculation method, to make it change more uniformity