update language and add a thrift tester