diff --git a/app/templates/base.html b/app/templates/base.html
new file mode 100644
index 0000000..1ef9290
--- /dev/null
+++ b/app/templates/base.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<meta charset="utf-8"/>
+<head>
+    <script src="http://code.jquery.com/jquery-latest.min.js"
+            type="text/javascript"></script>
+    <!-- to be able to handle show/hide links in all subclasses -->
+    <script>
+
+    $(function() {
+        $("a#show").bind("click", function() {
+            $("#message").toggle();
+        });
+    });
+
+
+
+
+
+
+
+
+
+    </script>
+    <script>
+$(document).ready(function() {
+     $("#menu-toggle").click(function(e) {
+        e.preventDefault();
+        $("#wrapper").toggleClass("toggled");
+        });
+    });
+
+
+
+
+
+
+
+    </script>
+    <!-- bootstrap -->
+    <script src="{{ url_for('static', filename='bootstrap/js/bootstrap.min.js') }}"></script>
+    <link href="{{ url_for('static', filename='bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
+    <link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}" media="all"/>
+
+    <div id="heading">
+        <span id="loginSpan">
+            {% if current_user.is_authenticated() %}
+                <label>{{ _('logged in as') }} {{current_user.username }}</label> (<a href="{{ url_for ('logout') }}">logout</a>)
+            {% else %}
+                <a href="{{ url_for ('login') }}">{{ _('login') }}</a> / <a href="{{ url_for ('signup') }}">{{ _('sign
+            up') }}</a>
+            {% endif %}
+        </span>
+        <a href="#menu-toggle" id="menu-toggle">
+            <img id="logo" src="{{ url_for('static', filename='korap-logo.svg') }}" alt="IDS Mannheim Logo"
+                 class="img-rounded">
+        </a>
+        <h2>{{ _("korap.title") }}</h2>
+    </div>
+    {% block head %}
+    {% endblock %}
+</head>
+<body>
+<div id="wrapper" class="toggled">
+    <!-- sidebar  -->
+    {% block sidebar %}
+    <div id="sidebar-wrapper">
+        <ul class="sidebar-nav nav">
+            <li class="sidebar-brand"></li>
+            <li class="active"><a href="/">Home</a></li>
+            <li><a href="{{ url_for('profile')}}">User Management</a></li>
+            <li><a href="{{ url_for('index')}}">Resource Management</a></li>
+            <li><a href="{{ url_for('index')}}">OAuth-Token Management</a></li>
+            <li><a href="{{ url_for('search')}}">Query Analysis</a></li>
+            <li><a href="{{ url_for('index')}}">Query Serialization</a></li>
+        </ul>
+    </div>
+    {% endblock %}
+    <div id="page-content-wrapper">
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-md-11 content">
+                    {% if error %}
+                    <p class="warning">{{ error }}</p>
+                    {% else %}
+                    {% block content %}{% endblock %}
+                    {% endif %}
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+
+</body>
+<footer>
+    <!-- /.col-xs-12 main -->
+    <a class="footer" href="#">Impressum</a>
+    <a class="footer" href="#">About</a>
+    <a class="footer" href="#">Contact</a>
+
+</footer>
+</body>
+</html>
