added notes to provide callbacks for progress update