thrift fields should be snake_cased