TODO: checksum validation