checksum works, the other things need to be checked in particular byte ordering