thrift client implmentation