Added a progress parameter to update()