support progress events closes #2,3,4