diff --git a/_config.yml b/_config.yml
index f771e35c1bfab32e7935b348280dcca1fc362e38..ee07a5f92cacb92cbb3525596f4f6ba64cd4ef34 100644
--- a/_config.yml
+++ b/_config.yml
@@ -28,8 +28,40 @@ author:
   url:               http://kwarc.info
   email:             kohlhase@kwarc.info
 
-semester: SS17
-upcoming: WS17/18
+semesters:
+    former:
+        - Fall03
+        - Spring04
+        - Fall04
+        - Spring05
+        - Fall04
+        - Spring06
+        - Fall06
+        - Spring07
+        - Fall07
+        - Spring08
+        - Fall08
+        - Spring09
+        - Fall09
+        - Spring10
+        - Fall10
+        - Spring11
+        - Fall11
+        - Spring12
+        - Fall12
+        - Spring13
+        - Fall13
+        - Intersession14
+        - Spring14
+        - Fall14
+        - Spring15
+        - Fall15
+        - Spring16
+        - Fall16
+        - Spring17
+        - WS16/17
+    current: SS17
+    upcoming: WS17/18
 
 # Custom vars
 version:             0.3.0
diff --git a/courses/meta/former.html b/courses/meta/former.html
new file mode 100644
index 0000000000000000000000000000000000000000..5cd0d06daae51c51675b51eac9f10b58f9574293
--- /dev/null
+++ b/courses/meta/former.html
@@ -0,0 +1,22 @@
+---
+layout: default
+title: Former Courses
+permalink: /courses/former/
+---
+
+{% assign courses = site.pages | where: "layout", "course" | sort: "title" %}
+{% assign semesters = site.semesters.former | reverse %}
+{% for semester in semesters %}
+    {% assign offers = (courses | where_exp: "c", "c.semesters contains semester") %}
+    
+    {% if offers.size > 0%}
+        
+        <ul class="collection with-header">
+            <li class="collection-header"><h5>{% include semester.html %}</h5></li>
+            
+            {% for item in offers %}
+                {% include course.html %}
+            {% endfor %}
+        </ul>
+    {% endif %}
+{% endfor %}
\ No newline at end of file
diff --git a/courses/meta/former.md b/courses/meta/former.md
deleted file mode 100644
index b20acc55ee8131740129dac274fe36af7fcabd5a..0000000000000000000000000000000000000000
--- a/courses/meta/former.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: default
-title: Former Courses
-permalink: /courses/former/
----
-
-{% assign courses = site.pages | where: "layout", "course" | sort: "title" %}
-
-<ul class="collection">
-    {% for item in courses %}
-      {% unless item.semesters contains site.semester %}
-            {% include course.html %}
-      {% endunless %}
-    {% endfor %}
-</ul>
diff --git a/courses/meta/index.md b/courses/meta/index.html
similarity index 81%
rename from courses/meta/index.md
rename to courses/meta/index.html
index 8ba40bdaddb5fec2a155279605456452c73bad17..26dac9368968bc67b3278f03df740c522a4690c8 100644
--- a/courses/meta/index.md
+++ b/courses/meta/index.html
@@ -8,7 +8,7 @@ permalink: /courses/
 
 <ul class="collection">
     {% for item in courses %}
-        {% if item.semesters contains site.semester %}
+        {% if item.semesters contains site.semesters.current %}
             {% include course.html %}
         {% endif %}
     {% endfor %}
diff --git a/courses/meta/upcoming.md b/courses/meta/upcoming.html
similarity index 81%
rename from courses/meta/upcoming.md
rename to courses/meta/upcoming.html
index 2b025744d60e8238c07bbbe8b7b165a4e738644b..f91324fdf10e2f8ac26d833d1ec4141e7c63a8ee 100644
--- a/courses/meta/upcoming.md
+++ b/courses/meta/upcoming.html
@@ -8,7 +8,7 @@ permalink: /courses/upcoming/
 
 <ul class="collection">
     {% for item in courses %}
-        {% if item.semesters contains site.upcoming %}
+        {% if item.semesters contains site.semesters.upcoming %}
             {% include course.html %}
         {% endif %}
     {% endfor %}