forgot to add portable_endian.h