Add improved update and sum