diff --git a/docs/modeling_conventions.md b/docs/modeling_conventions.md
index 947bc90..8f0371f 100644
--- a/docs/modeling_conventions.md
+++ b/docs/modeling_conventions.md
@@ -51,7 +51,7 @@
 
 | Attribute          | Effect             |
 |--------------------|--------------------|
-| verbose_name="..." | Provides a label to be used in the GUI display for this field. Differs from the field name itself, which is used to create the column in the database table.|
+| verbose_name="..." | Provides a label to be used in the GUI display for this field. Differs from the field name itself, which is used to create the database table.|
 | verbose_name_plural="..." | Way to override the verbose name for this field.|
 | help_text="..." | Provides some context-based help for the field; will show up in the GUI display.|
 | default=... | Allows a predefined default value to be specified.|
@@ -60,6 +60,7 @@
 | blank=True | Allows the field to be present but empty.|
 | null=True | Allows the field to have a value of null if the field is blank.|
 | editable=False | If you would like to make this a readOnly field to the user.|
+| gui_hidden=True | Hide a particular field from the GUI. This can be specified for an entire model.|
 
 The following Field-level optional attributes should not be used (or use judiciously).
 
@@ -122,6 +123,8 @@
 | app_label          | Necessary if models are defined in modules other than models.py  In our core application we split out the model definitions into their own modules for clarity -- each of the models not derived from the XOSBase needs to explicitly state the "core" as the application this object is associated to. For example, XOSBase and User.|
 | order_with_respect_to | |
 | ordering | Defines the default column to order lists of the object type by. For example, Users => email.|
+| description | Provide an explation of the model. It's rendered in the GUI to help the operator.|
+| gui_hidden=True | Hide a particular model from the GUI. This can be specified for a single field.|
 
 
 
diff --git a/lib/xos-genx/tests/translator_test.py b/lib/xos-genx/tests/translator_test.py
index f936113..48c1a81 100644
--- a/lib/xos-genx/tests/translator_test.py
+++ b/lib/xos-genx/tests/translator_test.py
@@ -133,7 +133,7 @@
 option app_label = "test";
 
 message Foo {
-    option gui_hidden = "True";
+    option gui_hidden = True;
     required string name = 1 [ null = "False", blank="False"];
 }
 
@@ -271,6 +271,50 @@
         self.assertIn('{model: ServiceDependency, type: onetomany, on_field: provider_service}', output)
         self.assertIn('{model: ServiceDependency, type: onetomany, on_field: provider_service}', output)
 
+    def test_model_description(self):
+        xproto = \
+"""
+option app_label = "test";
+
+message Foo {
+    option description="This is the Foo model";
+    required string name = 1 [ null = "False", blank="False"];
+    required string isolation = 14 [default = "vm", choices = "(('vm', 'Virtual Machine'), ('container', 'Container'), ('container_vm', 'Container In VM'))", max_length = 30, blank = False, null = False, db_index = False];
+}
+
+message Bar {
+    required string name = 1;
+}
+"""
+
+        args = FakeArgs()
+        args.inputs = xproto
+        args.target = 'modeldefs.xtarget'
+        output = XOSGenerator.generate(args)
+        self.assertIn('description: "This is the Foo model"', output)
+
+    def test_model_verbose_name(self):
+        xproto = \
+"""
+option app_label = "test";
+
+message Foo {
+    option verbose_name="Verbose Foo Name";
+    required string name = 1 [ null = "False", blank="False"];
+    required string isolation = 14 [default = "vm", choices = "(('vm', 'Virtual Machine'), ('container', 'Container'), ('container_vm', 'Container In VM'))", max_length = 30, blank = False, null = False, db_index = False];
+}
+
+message Bar {
+    required string name = 1;
+}
+"""
+
+        args = FakeArgs()
+        args.inputs = xproto
+        args.target = 'modeldefs.xtarget'
+        output = XOSGenerator.generate(args)
+        self.assertIn('verbose_name: "Verbose Foo Name"', output)
+
 if __name__ == '__main__':
     unittest.main()
 
diff --git a/lib/xos-genx/xosgenx/targets/modeldefs.xtarget b/lib/xos-genx/xosgenx/targets/modeldefs.xtarget
index ec8df1c..3b0790a 100644
--- a/lib/xos-genx/xosgenx/targets/modeldefs.xtarget
+++ b/lib/xos-genx/xosgenx/targets/modeldefs.xtarget
@@ -2,6 +2,12 @@
 {%- for m in proto.messages | sort(attribute='name') %}
 {%- if m.name != 'XOSBase'  and xproto_unquote(xproto_first_non_empty([m.options.gui_hidden, 'False'])) != 'True' %}
 - app: {{ xproto_unquote(xproto_first_non_empty([m.options.name, m.options.app_label, options.name, context.app_label])) }}
+  {%- if m.options.description %}
+  description: "{{ xproto_unquote(m.options.description) }}"
+  {%- endif %}
+  {%- if m.options.verbose_name %}
+  verbose_name: "{{ xproto_unquote(m.options.verbose_name) }}"
+  {%- endif %}
   fields: 
   {%- set id_field = {'type':'int32', 'name':'id', 'options':{}} %}
   {% for f in (xproto_base_fields(m, proto.message_table) + m.fields + [id_field]) | sort(attribute='name') -%}
diff --git a/lib/xos-genx/xosgenx/targets/service.xtarget b/lib/xos-genx/xosgenx/targets/service.xtarget
index bf14b83..7b90aea 100644
--- a/lib/xos-genx/xosgenx/targets/service.xtarget
+++ b/lib/xos-genx/xosgenx/targets/service.xtarget
@@ -41,7 +41,7 @@
   class Meta:
       app_label = {{ xproto_first_non_empty([m.options.app_label, options.app_label, options.name, "Set an app label in your xproto!"]) | lower}}
       # name = {{ xproto_first_non_empty([m.options.name, options.name, "Set a name in your xproto!"]) }}
-      verbose_name = {{ xproto_first_non_empty([m.options.verbose_name, options.verbose_name, "Set a verbose name in your xproto!"]) }}
+      verbose_name = "{{ xproto_unquote(xproto_first_non_empty([m.options.verbose_name, m.name])) }}"
 
   # Primitive Fields (Not Relations)
   {% for f in m.fields %}
diff --git a/xos/core/models/core.xproto b/xos/core/models/core.xproto
index 36af669..05e9c04 100644
--- a/xos/core/models/core.xproto
+++ b/xos/core/models/core.xproto
@@ -33,7 +33,7 @@
 
 message User::user_policy (AbstractBaseUser,PlModelMixIn) {
      option skip_django = True;
-     option tosca_description = "An XOS User";
+     option description = "An XOS User";
 
      required string email = 1 [db_index = True, max_length = 255, null = False, blank = False];
      required string username = 2 [default = "Something", max_length = 255, content_type = "stripped", blank = False, null = False, db_index = False];
@@ -601,6 +601,8 @@
 }
 
 message XOSGuiExtension (XOSBase) {
+     option verbose_name="XOS GUI Extension";
+     option description="This model holds the instruction to load an extension in the GUI";
      required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the GUI Extensions", null = False, db_index = False];
      required string files = 2 [max_length = 1024, content_type = "stripped", blank = False, help_text = "List of comma separated file composing the view", null = False, db_index = False];
 }
diff --git a/xos/coreapi/protos/modeldefs.proto b/xos/coreapi/protos/modeldefs.proto
index 91d2652..b95a31c 100644
--- a/xos/coreapi/protos/modeldefs.proto
+++ b/xos/coreapi/protos/modeldefs.proto
@@ -43,6 +43,8 @@
     repeated ModelField fields = 2;
     repeated FieldRelation relations = 3;
     string app = 4;
+    string verbose_name = 5;
+    string description = 6;
 };
 
 message ModelDefs {
