add byteorder detection