be sure to zero checksum fields before computing