update progress, TODO