thrift interface