add partial download callback