Implemented completion with thrift