use new DispatchProgress API