Added progress indication callback, needs refinement