added progress delegate