do summary math with unsigned longs, helps avoid overflow