Sum (not finished) (updated)