update for more recent version, still need to handle endianness