update as much as possible