update with progress