add progress callback (upload plugin)