add thrift gerenator