diff --git a/website/content/tutorials/_index.md b/website/content/tutorials/_index.md
index e4ab1cfcf..60862c656 100644
--- a/website/content/tutorials/_index.md
+++ b/website/content/tutorials/_index.md
@@ -8,8 +8,38 @@ menu:
weight: 10
---
-Metaschema is a framework for modeling information into data formats. To start, let us imagine we want to exchange information about computers. How do we model a computer in Metaschema? We start with a metaschema definition.
+Metaschema is a framework for modeling information into machine-readable data formats. If we want to build tools to exchange information about computers, how do we model a computer in Metaschema and what are the benefits?
+
+We start with an empty metaschema definition, like the one below.
```xml
-
+
+
+```
+
+We write a Metaschema definition in XML. An empty definition like above has a beginning and ending `METASCHEMA` tags. We want to add useful metadata for both developers and Metaschema-enabled tools to consume this definition, like so.
+
+```xml
+
+ Computer Model
+ 0.0.1-alpha
+ computer
+ http://example.com/ns/computer
+
+```
+
+The metadata above provides useful information to the developer and tools. The `schema-name` is the long-form, descriptive name of the computer model. The `schema-version` is to give the model itself a version number, for either developers or their tools to use. The `short-name` is the shortened form of the `schema-name`, and most importantly the outputs of Metaschema-enabled tools will look for data fields with the name `computer`, not `Computer Model`. The `namespace` is a URI used to identify the model and its parts as belonging to a single scope, like a module name or class name in other data formats and programming languages.
+
+With a minimal metadata section in place, we will add the first part of the model for the computer, an `assembly` for a computer itself.
+
+```xml
+
+ Computer Model
+ 0.0.1-alpha
+ computer
+ http://example.com/ns/computer
+
+
+
```
\ No newline at end of file