added the thrift interface