First prototype
diff --git a/inc/Gtfs/FeedMessage.php b/inc/Gtfs/FeedMessage.php
new file mode 100644
index 0000000..26ace5f
--- /dev/null
+++ b/inc/Gtfs/FeedMessage.php
@@ -0,0 +1,99 @@
+<?php
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: proto/gtfs.proto
+
+namespace Gtfs;
+
+use Google\Protobuf\Internal\GPBType;
+use Google\Protobuf\Internal\RepeatedField;
+use Google\Protobuf\Internal\GPBUtil;
+
+/**
+ * Generated from protobuf message <code>gtfs.FeedMessage</code>
+ */
+class FeedMessage extends \Google\Protobuf\Internal\Message
+{
+    /**
+     * Metadata about this feed and feed message.
+     *
+     * Generated from protobuf field <code>.gtfs.FeedHeader header = 1;</code>
+     */
+    protected $header = null;
+    /**
+     * Contents of the feed.
+     *
+     * Generated from protobuf field <code>repeated .gtfs.FeedEntity entity = 2;</code>
+     */
+    private $entity;
+
+    /**
+     * Constructor.
+     *
+     * @param array $data {
+     *     Optional. Data for populating the Message object.
+     *
+     *     @type \Gtfs\FeedHeader $header
+     *           Metadata about this feed and feed message.
+     *     @type \Gtfs\FeedEntity[]|\Google\Protobuf\Internal\RepeatedField $entity
+     *           Contents of the feed.
+     * }
+     */
+    public function __construct($data = NULL) {
+        \GPBMetadata\Proto\Gtfs::initOnce();
+        parent::__construct($data);
+    }
+
+    /**
+     * Metadata about this feed and feed message.
+     *
+     * Generated from protobuf field <code>.gtfs.FeedHeader header = 1;</code>
+     * @return \Gtfs\FeedHeader
+     */
+    public function getHeader()
+    {
+        return $this->header;
+    }
+
+    /**
+     * Metadata about this feed and feed message.
+     *
+     * Generated from protobuf field <code>.gtfs.FeedHeader header = 1;</code>
+     * @param \Gtfs\FeedHeader $var
+     * @return $this
+     */
+    public function setHeader($var)
+    {
+        GPBUtil::checkMessage($var, \Gtfs\FeedHeader::class);
+        $this->header = $var;
+
+        return $this;
+    }
+
+    /**
+     * Contents of the feed.
+     *
+     * Generated from protobuf field <code>repeated .gtfs.FeedEntity entity = 2;</code>
+     * @return \Google\Protobuf\Internal\RepeatedField
+     */
+    public function getEntity()
+    {
+        return $this->entity;
+    }
+
+    /**
+     * Contents of the feed.
+     *
+     * Generated from protobuf field <code>repeated .gtfs.FeedEntity entity = 2;</code>
+     * @param \Gtfs\FeedEntity[]|\Google\Protobuf\Internal\RepeatedField $var
+     * @return $this
+     */
+    public function setEntity($var)
+    {
+        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Gtfs\FeedEntity::class);
+        $this->entity = $arr;
+
+        return $this;
+    }
+
+}
+