added checksum validation