require thrift