gem5 101 pages showing
diff --git a/_data/documentation.yml b/_data/documentation.yml
index c312368..d79037c 100644
--- a/_data/documentation.yml
+++ b/_data/documentation.yml
@@ -70,9 +70,22 @@
   - title: gem5 101
     items:
       - title: gem5 101
-        id: gem5_101
         url: /gem5_101
 
+      - title: Hello World
+        url: /hello_world
+
+      - title: Adding An Instruction
+        url: /adding_an_instruction
+
+      - title: CPU Models
+        url: /cpu_models
+
       - title: Branch Prediction
-        id: branch_prediction
         url: /branch_prediction
+
+      - title: Caches
+        url: /caches
+
+      - title: Multi Core
+        url: /multi_core
diff --git a/_pages/documentation/gem5-101/adding_an_instruction.md b/_pages/documentation/gem5-101/adding_an_instruction.md
index 342c237..42e479c 100644
--- a/_pages/documentation/gem5-101/adding_an_instruction.md
+++ b/_pages/documentation/gem5-101/adding_an_instruction.md
@@ -1,10 +1,13 @@
 ---
-title: "Adding an instruction"
+layout: documentation
+title: Adding An Instruction
+doc: gem5 101
+permalink: /adding_an_instruction/
+author: Jason Lowe-Power
 date: 2018-05-12T23:00:45-04:00
-draft: false
-weight: 20
 ---
 
+## Part 2 Adding An Instruction
 For part II, we had used gem5 capabilities straight out of the box. Now,
 we will witness the flexibility and usefulness of gem5 by extending the
 simulator functionality. We walk you through the implementation of an
@@ -12,5 +15,3 @@
 introduce you to gem5's language for describing instruction sets, and
 illustrate how instructions are decoded and broken down into micro-ops
 which are ultimately executed by the processor.
-
-
diff --git a/_pages/documentation/gem5-101/branch_prediction.md b/_pages/documentation/gem5-101/branch_prediction.md
index 1792403..18e28b5 100644
--- a/_pages/documentation/gem5-101/branch_prediction.md
+++ b/_pages/documentation/gem5-101/branch_prediction.md
@@ -2,7 +2,6 @@
 layout: documentation
 title: Branch Prediction
 doc: gem5 101
-parent: introduction
 permalink: /branch_prediction/
 author: Jason Lowe-Power
 ---
diff --git a/_pages/documentation/gem5-101/caches.md b/_pages/documentation/gem5-101/caches.md
index 07a2ec4..306ecd5 100644
--- a/_pages/documentation/gem5-101/caches.md
+++ b/_pages/documentation/gem5-101/caches.md
@@ -1,14 +1,15 @@
 ---
-title: "Caches"
+layout: documentation
+title: Caches
+doc: gem5 101
+permalink: /caches/
+author: Jason Lowe-Power
 date: 2018-05-12T23:01:31-04:00
-draft: false
-weight: 50
 ---
 
+## Part 5 Caches
 After looking at the processor core, we now turn our attention to the
 cache hierarchy. We continue our focus on experimentation, and consider
 tradeoffs in cache design such as replacement policies and
 set-associativity. Furthermore, we also learn more about the gem5
 simulator, and create our first simObject\!
-
-
diff --git a/_pages/documentation/gem5-101/cpu_models.md b/_pages/documentation/gem5-101/cpu_models.md
index 77eff47..5335e6a 100644
--- a/_pages/documentation/gem5-101/cpu_models.md
+++ b/_pages/documentation/gem5-101/cpu_models.md
@@ -1,15 +1,15 @@
 ---
-title: "CPU models"
-date: 2018-05-12T23:01:03-04:00
-draft: false
-weight: 30
+layout: documentation
+title: CPU Models
+doc: gem5 101
+permalink: /cpu_models/
+author: Jason Lowe-Power
 ---
 
+## Part 3 CPU Models
 From the ISA, we now move on to the processor micro-architecture. Part
 III introduces the various different cpu models implemented in gem5, and
 analyzes the performance of a pipelined implementation. Specifically,
 you will learn how the latency and bandwidth of different pipeline
 stages affect overall performance. Also, a sample usage of gem5
 pseudo-instructions is also included at no additional cost.
-
-
diff --git a/_pages/documentation/gem5-101/gem5_101.md b/_pages/documentation/gem5-101/gem5_101.md
index 62db868..b85e0df 100644
--- a/_pages/documentation/gem5-101/gem5_101.md
+++ b/_pages/documentation/gem5-101/gem5_101.md
@@ -7,6 +7,7 @@
 date: 2016-04-27
 ---
 
+# Gem5 101
 
 This is a six part course which will help you pick up the basics of gem5, and
 illustrate some common uses. This course is based around the assignments from a
diff --git a/_pages/documentation/gem5-101/hello_world.md b/_pages/documentation/gem5-101/hello_world.md
index 8c80d65..d163519 100644
--- a/_pages/documentation/gem5-101/hello_world.md
+++ b/_pages/documentation/gem5-101/hello_world.md
@@ -1,15 +1,16 @@
 ---
-title: "Hello world"
-date: 2018-05-12T23:00:17-04:00
-draft: false
-weight: 10
+layout: documentation
+title: Hello World
+doc: gem5 101
+id: gem5_101
+permalink: /hello_world/
+author: Jason Lowe-Power
 ---
 
+## Part 1 Hello World
 In part I, you will first learn to download and build gem5 correctly,
 create a simple configuration script for a simple system, write a simple
 C program and run a gem5 simulation. You will then introduce a two-level
 cache hierarchy in your system (fun stuff). Finally, you get to view the
 effect of changing system parameters such as memory types, processor
 frequency and complexity on the performance of your simple program.
-
-
diff --git a/_pages/documentation/gem5-101/multi_core.md b/_pages/documentation/gem5-101/multi_core.md
index fc62a42..4e576e0 100644
--- a/_pages/documentation/gem5-101/multi_core.md
+++ b/_pages/documentation/gem5-101/multi_core.md
@@ -1,10 +1,12 @@
 ---
-title: "Multi Core"
-date: 2018-05-12T23:01:57-04:00
-draft: false
-weight: 60
+layout: documentation
+title: Multi Core
+doc: gem5 101
+permalink: /multi_core/
+author: Jason Lowe-Power
 ---
 
+## Part 6 Multi Core
 For this last part, we go both multi-core and full system at the same
 time\! We analyze the performance of a simple application on giving it
 more computational resources (cores). We also boot a full-fledged
@@ -12,5 +14,3 @@
 gem5. Most importantly, we teach you how to create your own, simpler
 version of the dreaded fs.py configuration script, one that you can feel
 comfortable modifying.
-
-