add a progress routine