improve sum