update with progress bar