added download progress interface