todo checksum and string later