auto generates serializing and deserializing logic for thrift