protobuf support, first draft