improved update process