diff --git a/xos/configurations/frontend/Makefile b/xos/configurations/frontend/Makefile
index 5c0ce0e..2b46441 100644
--- a/xos/configurations/frontend/Makefile
+++ b/xos/configurations/frontend/Makefile
@@ -24,6 +24,9 @@
 enter-xos:
 	sudo docker exec -ti frontend_xos_1 bash
 
+django-restart:
+	sudo docker exec frontend_xos_1 touch /opt/xos/xos/settings.py
+
 mock-cord:
 	sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/common/fixtures.yaml
 	sudo docker-compose run xos python /opt/xos/tosca/run.py padmin@vicci.org /opt/xos/configurations/frontend/mocks/cord.yaml
diff --git a/xos/configurations/frontend/docker-compose.yml b/xos/configurations/frontend/docker-compose.yml
index e17c405..dc05a94 100644
--- a/xos/configurations/frontend/docker-compose.yml
+++ b/xos/configurations/frontend/docker-compose.yml
@@ -22,6 +22,7 @@
       - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config
       - ../../core/xoslib:/opt/xos/core/xoslib
       - ../../core/static:/opt/xos/core/static
+      - ../../core/templatetags:/opt/xos/core/templatetags
       - ../../templates/admin:/opt/xos/templates/admin
       - ../../configurations:/opt/xos/configurations
       - ../../xos:/opt/xos/xos
diff --git a/xos/core/templatetags/__init__.py b/xos/core/templatetags/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/xos/core/templatetags/__init__.py
diff --git a/xos/core/templatetags/core_tags.py b/xos/core/templatetags/core_tags.py
new file mode 100644
index 0000000..e012876
--- /dev/null
+++ b/xos/core/templatetags/core_tags.py
@@ -0,0 +1,13 @@
+from django import template
+import sys
+from core.models import DashboardView
+
+register = template.Library()
+
+print >>sys.stderr, 'Got loaded!'
+@register.inclusion_tag('admin/tags/dashboard_list.html')
+def dashboard_list():
+    dashboards = DashboardView.objects.all()
+    print >>sys.stderr, 'Requesting template!'
+    print >>sys.stderr, dashboards
+    return {'dashboards': dashboards}
\ No newline at end of file
diff --git a/xos/templates/admin/base.html b/xos/templates/admin/base.html
index 0edd161..db62382 100644
--- a/xos/templates/admin/base.html
+++ b/xos/templates/admin/base.html
@@ -78,7 +78,9 @@
         <a href="{% url 'admin:index' %}" class="hidden-xs">
           <img class="logo" src="{% static XOS_BRANDING_ICON %}"/>
         </a>
-        <!--{% include 'suit/menu.html' %}-->
+            {% comment %}
+            <!--{% include 'suit/menu.html' %}-->
+            {% endcomment %}
         {% include 'admin/menu.html' %}
         <button class="navbar-toggle collapsed visible-xs" type="button">
           <i class="glyphicon glyphicon-arrow-left"></i>
diff --git a/xos/templates/admin/menu.html b/xos/templates/admin/menu.html
index d29595a..52b9596 100644
--- a/xos/templates/admin/menu.html
+++ b/xos/templates/admin/menu.html
@@ -1,19 +1,20 @@
 {#{% load sitetree %}#}
-{% load i18n suit_menu suit_tags %}
+{% load i18n suit_menu suit_tags core_tags %}
 {% load url from future %}
 
+
+
+
 {% with menu_position='menu_position'|suit_conf %}
 
+
+
 <ul class="nav nav-suit-menu nav-pills{% if menu_position == 'vertical' %} nav-stacked {% endif %}">
     {% block menu_home %}
     {% url 'admin:index' as index_url %}
     <li{% if index_url == request.path %} class="active"{% endif %}>
         <a href="{{ index_url }}"><i class="icon-home"></i>{% trans 'Home' %}</a>
-        <ul>
-            {% for dashboard in XOS_DASHBOARDS %}
-                <li>{{ dashboard }}</li>
-            {% endfor %}
-        </ul>
+        {% dashboard_list %}
     </li>
     {% endblock %}
 
@@ -59,4 +60,5 @@
         {% endif %}
     </ul>
     {% endif %}
-{% endwith %}
\ No newline at end of file
+{% endwith %}
+
diff --git a/xos/templates/admin/tags/dashboard_list.html b/xos/templates/admin/tags/dashboard_list.html
new file mode 100644
index 0000000..7656e34
--- /dev/null
+++ b/xos/templates/admin/tags/dashboard_list.html
@@ -0,0 +1,7 @@
+<ul>
+    {% for dashboard in dashboards %}
+        <li>
+            <a href="/admin/dashboard/{{ dashboard.name|lower }}">{{ dashboard.name }}</a>
+        </li>
+    {% endfor %}
+</ul>
\ No newline at end of file
diff --git a/xos/xos/settings.py b/xos/xos/settings.py
index bd846e3..aa50e7d 100644
--- a/xos/xos/settings.py
+++ b/xos/xos/settings.py
@@ -246,9 +246,6 @@
 XOS_BRANDING_FAVICON = getattr(config, "gui_branding_favicon", "/static/favicon.png")
 XOS_BRANDING_BG = getattr(config, "gui_branding_bg", "/static/bg.png")
 
-XOS_DASHBOARDS = ['uno', 'due', 'tre']
-
-
 DISABLE_MINIDASHBOARD = getattr(config, "gui_disable_minidashboard", False)
 ENCRYPTED_FIELDS_KEYDIR = XOS_DIR + '/private_keys'
 ENCRYPTED_FIELD_MODE = 'ENCRYPT'
