#24 adding checksum negotiation