introduce support for protobuf + thrift