new thrift module implementation