diff --git a/_config.yml b/_config.yml
index afe95e6ba779d6b16d60fee5db23a161282d0534..547256245098a3526aa3a235723cbdffb6d6b1f3 100644
--- a/_config.yml
+++ b/_config.yml
@@ -20,6 +20,8 @@ collections:
     output: true
   research:
     output: true
+  teaching:
+    output: true
 
 defaults:
   -
diff --git a/_includes/header.html b/_includes/header.html
index 30342922dcb9ea4c3f85b8fc2dcb06a0595bb23b..ece70f527fe76689c2339ba7e3b233ea078a1b7e 100644
--- a/_includes/header.html
+++ b/_includes/header.html
@@ -4,12 +4,12 @@
       <nav class="nav">
           
         {% for menu_index in (1..10) %}
-            {% assign menu_items = site.pages | where:"menu",true | where: "menu_order",menu_index %}
+            {% assign menu_items = site.pages | where:"menu",true | where: "menu_order",menu_index | sort:"sub_menu_order" %}
             {% if menu_items.size > 0 %}
                 {% if menu_items.first.parent_menu %}
                     {% assign check_url = menu_items.first.parent_menu | downcase | prepend: '/' | append: '/'  %}
                     <li class="dropdown">
-                        <a class="nav-link {% if page.url contains check_url %}active{% endif %} dropbtn" href="">{{ menu_items.first.parent_menu }}</a>
+                        <a class="nav-link {% if page.url contains check_url %}active{% endif %} ">{{ menu_items.first.parent_menu }}</a>
                         <div class="dropdown-content">
                         {% for item in menu_items %}
                         <a class="nav-link {% if item.url == page.url %}active{% endif %}" href="{{ item.url | prepend: site.baseurl }}">{{ item.title }}</a>
diff --git a/_includes/news-page.html b/_includes/news-page.html
new file mode 100644
index 0000000000000000000000000000000000000000..af56ac0e5619c5661c2acb01879cf06d36ec9166
--- /dev/null
+++ b/_includes/news-page.html
@@ -0,0 +1,13 @@
+{% unless include.max %}
+    {% assign include.max = site.posts | size %}
+{% endunless  %}
+<div class="posts">
+{% for post in site.posts limit:include.max %}
+<li class="post-preview">
+  <h4><a href="{{ post.url }}">{{ post.title }}</a></h4>
+  <p>{{ post.date | date: "%b %-d, %Y" }}</p>
+  {{ post.excerpt }}
+  <p><a href="{{ post.url }}">more...</a></p>
+</li>
+{% endfor %}
+</div>
diff --git a/_layouts/home.html b/_layouts/home.html
index 10a87ce85a721fa04a9ccac7f9277c60dd379725..f6ce075ef05b4f620ec4d0f86f5010be33528c30 100644
--- a/_layouts/home.html
+++ b/_layouts/home.html
@@ -14,18 +14,12 @@ layout: default
 
 <div class="row">
   <div class="col-sm-6">
-    <h2>News</h2>
-      {% for post in site.posts %}
-      <div class="post-preview">
-        <h3 class="post-title"><a href="{{ post.url }}">{{ post.title }}</a></h3>
-        <p class="post-meta">{{ post.date | date: "%b %-d, %Y" }}</p>
-        {{ post.excerpt}}
-      </div>
-      {% endfor %}
+      <h2><a href="{{ site.url }}/news.html">Recent News</a></h2>
+      {% include news-page.html max=5 %}
     </div>
 
   <div class="col-sm-6">
-    <h2>Recent Publications</h2>
+      <h2><a href="{{ site.url }}/publications.html">Recent Publications</a></h2>
     {% bibliography --max 5 %}
   </div>
 </div>
diff --git a/assets/blog.scss b/assets/blog.scss
index c172be4bb5d917c67a4a5cb70bdfbc9847c032bf..0395bd1b9aeb2759bfb0a6dbbe693ec62d908f0a 100644
--- a/assets/blog.scss
+++ b/assets/blog.scss
@@ -79,9 +79,9 @@ h6, .h6 {
   .dropdown-content {
     display: none;
     position: absolute;
+    //min-width: 160px;
     background-color: $primary_colour;
-    min-width: 160px;
-    background-color: $primary_colour;
+    z-index:10;
     -webkit-box-shadow: inset 0 -.1rem .25rem rgba(0,0,0,.2);
             box-shadow: inset 0 -.1rem .25rem rgba(0,0,0,.2);
   }
@@ -99,7 +99,7 @@ h6, .h6 {
   .nav-link {
     position: relative;
     padding: 1rem;
-    font-weight: 500;
+    //font-weight: 500;
     color: $highlight_colour;
   }
   .nav-link:hover,
@@ -163,6 +163,8 @@ h6, .h6 {
   }
 }
 
+
+
 .bibliography {
   padding: 0;
 
@@ -279,7 +281,6 @@ h6, .h6 {
   margin-bottom: 4rem;
   .post-title {
     margin-bottom: .75rem;
-    font-size: 2.5rem;
   }
   .post-meta {
     margin-bottom: 1.25rem;
@@ -293,6 +294,19 @@ h6, .h6 {
   }
 }
 
+.posts {
+  padding: 0;
+
+  > li {
+    list-style: none;
+    border-top: 1px solid #eee;
+    padding: 1em;
+  }
+
+  h4 a {
+    color: black;
+  }
+}
 
 .site-card-list {
   list-style-position: inside;
diff --git a/news.html b/news.html
new file mode 100644
index 0000000000000000000000000000000000000000..0d916975f813a8a583eefab05ef34e77310aa7c5
--- /dev/null
+++ b/news.html
@@ -0,0 +1,7 @@
+---
+title: News
+menu: true
+menu_order: 2
+layout: page
+---
+{% include news-page.html posts=site.posts %}
diff --git a/people.html b/people.html
index 1471dfb820d93f825b880446adc5eb21fa35c348..f85c8eb3bc14df847b425aa16423fc10ed23d483 100644
--- a/people.html
+++ b/people.html
@@ -1,6 +1,6 @@
 ---
 title: People
 menu: true
-menu_order: 2
+menu_order: 3
 ---
 {% include person-cards.html people=site.people %}
diff --git a/publications/index.html b/publications.html
similarity index 84%
rename from publications/index.html
rename to publications.html
index 11718aa50ff77d6440c036e32b91b00a5a03f6e3..76be1c0de0396bae611cdff3c74d228d63765d29 100644
--- a/publications/index.html
+++ b/publications.html
@@ -2,5 +2,6 @@
 title: Publications
 menu: true
 layout: toc
+menu_order: 6
 ---
 {% bibliography -g year %}
diff --git a/research/concurrency.md b/research/concurrency.md
index 49197776701b54f679a840e8d240e6b8ef7f1063..722c57c58baf85984d3a15be1d6aac10e6030d77 100644
--- a/research/concurrency.md
+++ b/research/concurrency.md
@@ -3,7 +3,8 @@ title: Concurrency
 project_id: concurrency
 menu: true
 parent_menu: Research
-menu_order: 3
+menu_order: 4
+sub_menu_order: 1
 ---
 
 We develop formal reasoning techniques for concurrent programs, with a
diff --git a/research/javascript.md b/research/javascript.md
index dc0b2df44fa28c7c6abb9b1b736bbbc3aa93e9e1..28b50057b951e3b02280c90df926fe9590722007 100644
--- a/research/javascript.md
+++ b/research/javascript.md
@@ -3,7 +3,8 @@ title: JavaScript
 project_id: web
 menu: true
 parent_menu: Research
-menu_order: 3
+menu_order: 4
+sub_menu_order: 2
 ---
 
 We study the mechanised specification of the JavaScript language
diff --git a/teaching/InferLab.md b/teaching/InferLab.md
index b9dad551c4206ad3e5b2e7760e87542826f03007..92ef50fc58015b2a46beda5412425ffd3a2e2be2 100644
--- a/teaching/InferLab.md
+++ b/teaching/InferLab.md
@@ -4,6 +4,7 @@ project_id: infer
 menu: true
 parent_menu: Teaching
 menu_order: 5
+sub_menu_order: 2
 ---
 
 The [Separation Logic](https://psvg.doc.ic.ac.uk/teaching/separationlogic.html) course is a a 4th-year MEng and MSc course 
@@ -43,4 +44,4 @@ You can see Lorenzo’s [pull request here.](https://github.com/connectbot/conne
 ![Infer Lab](/images/images/Infer-lab-2-small.jpg)
 
 To follow the Infer team, check their [blog](http://fbinfer.com/blog/) or [Twitter](https://twitter.com/fbinfer). 
-For more details on the Infer lab or the Separation Logic course, contact the Imperial team below.
\ No newline at end of file
+For more details on the Infer lab or the Separation Logic course, contact the Imperial team below.
diff --git a/teaching/ModelsComputation.md b/teaching/ModelsComputation.md
index 8d4ad81a16f96f1e8366ae8e650d14273f4a353a..731e991927d6ee7a416da6e566cd6b538614b1ef 100644
--- a/teaching/ModelsComputation.md
+++ b/teaching/ModelsComputation.md
@@ -4,6 +4,7 @@ project_id: moc
 menu: true
 parent_menu: Teaching
 menu_order: 5
+sub_menu_order: 3
 ---
 
 This is a 2nd year MEng compulsory course at the [Department of Computing](http://www.imperial.ac.uk/computing), [Imperial College London](http://www.imperial.ac.uk). 
diff --git a/teaching/separationlogic.md b/teaching/separationlogic.md
index fff5bcc589ba0c3f7814194ed35d8e6320430523..475b99774e32184f03d2e7e5172ab7dd5f592c07 100644
--- a/teaching/separationlogic.md
+++ b/teaching/separationlogic.md
@@ -4,6 +4,7 @@ project_id: sl
 menu: true
 parent_menu: Teaching
 menu_order: 5
+sub_menu_order: 1
 ---
 
 The Separation Logic course is a 4th year MEng and MSc course on local reasoning about programs that manipulate the heap at the [Department of Computing](http://www.imperial.ac.uk/computing), [Imperial College London](http://www.imperial.ac.uk).