implementing progress