add progress delegate