fix checksum behaviour