addes support for progress handling