add flatbuffer support and use that for the handshake