figured out how the checksum works