diff --git a/projecthandler/template/project/descriptor/descriptor_view_base.html b/projecthandler/template/project/descriptor/descriptor_view_base.html
deleted file mode 100644
index 918e810..0000000
--- a/projecthandler/template/project/descriptor/descriptor_view_base.html
+++ /dev/null
@@ -1,141 +0,0 @@
-{% extends "base.html" %}
-
-{% load staticfiles %}
-
-{% block head_block %}
-  	{{ block.super }}
-
-
-    <!-- Codemirror core CSS -->
-    <link rel="stylesheet" href="/static/bower_components/codemirror/lib/codemirror.css" >
-    <link rel="stylesheet" href="/static/bower_components/codemirror/addon/fold/foldgutter.css"  />
-    <link rel="stylesheet" href="/static/bower_components/codemirror/theme/neat.css" >
-    <link rel="stylesheet" href="/static/bower_components/codemirror/addon/dialog/dialog.css" >
-    <link rel="stylesheet" href="/static/bower_components/codemirror/addon/display/fullscreen.css" >
-
-{% endblock %}
-
-
-
-
-{% block content_body %}
-  	{{ block.super }}
-<div class="row">
-    <div class="col-md-12">
-    <div class="nav-tabs-custom" style="position: relative;">
-    <ul class="nav nav-tabs" >
-        {% block tab_pane_button_list %}
-
-        {% endblock %}
-
-        {% block nav_buttons_list %}
-
-        {% endblock %}
-
-    </ul>
-        <div class="alert alert-success" id="success-alert" style="position: absolute; z-index: 100; top: 44px; left: 0;
-    width: 100%;
-    border-radius: 1px;
-    background-color: rgba(0, 166, 90, 0.8) !important;
-    text-align: center;
-    border-color: rgba(0, 141, 76, 0.4);" hidden>
-            <button type="button" class="close" onclick="$('#success-alert').toggle()">x</button>
-            <strong>Success! </strong>
-            Descriptor updated!
-        </div>
-    <div class="tab-content">
-        {% block tab_pane_list %}
-
-        {% endblock %}
-    </div>
-    <!-- /.tab-content -->
-
-
-
-
-</div>
-
-    </div>
-</div>
-{% endblock %}
-
-{% block resource_block %}
-  	{{ block.super }}
-
-
-    <script src="/static/bower_components/codemirror/lib/codemirror.js" ></script>
-    <script src="/static/bower_components/codemirror/addon/fold/foldcode.js" ></script>
-    <script src="/static/bower_components/codemirror/addon/fold/foldgutter.js" ></script>
-    <script src="/static/bower_components/codemirror/addon/fold/brace-fold.js" ></script>
-    <script src="/static/bower_components/codemirror/mode/javascript/javascript.js" ></script>
-    <script src="/static/bower_components/codemirror/mode/yaml/yaml.js" ></script>
-    <script src="/static/bower_components/codemirror/mode/markdown/markdown.js" ></script>
-    <script src="/static/bower_components/codemirror/addon/search/searchcursor.js" ></script>
-    <script src="/static/bower_components/codemirror/addon/search/search.js" ></script>
-    <script src="/static/bower_components/codemirror/addon/dialog/dialog.js" ></script>
-    <script src="/static/bower_components/codemirror/addon/display/autorefresh.js" ></script>
-    <script src="/static/bower_components/codemirror/addon/edit/matchbrackets.js" ></script>
-    <script src="/static/bower_components/codemirror/addon/edit/closebrackets.js" ></script>
-    <script src="/static/bower_components/codemirror/addon/display/fullscreen.js" ></script>
-    <script src="/static/bower_components/codemirror/keymap/sublime.js" ></script>
-
-
-    <script>
-
-        var json_editor_settings = {
-            mode: "javascript",
-            showCursorWhenSelecting: true,
-            autofocus: true,
-            lineNumbers: true,
-            lineWrapping: true,
-            foldGutter: true,
-            gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
-            autoCloseBrackets: true,
-            matchBrackets: true,
-            extraKeys: {
-                "F11": function (cm) {
-                    cm.setOption("fullScreen", !cm.getOption("fullScreen"));
-                },
-                "Esc": function (cm) {
-                    if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
-                },
-                "Ctrl-Q": function (cm) {
-                    cm.foldCode(cm.getCursor());
-                }
-            },
-            theme: "neat",
-            keyMap: "sublime"
-        };
-
-        var yaml_editor_settings = {
-            mode: "yaml",
-            showCursorWhenSelecting: true,
-            autofocus: true,
-            autoRefresh: true,
-            lineNumbers: true,
-            lineWrapping: true,
-            foldGutter: true,
-            gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"],
-            autoCloseBrackets: true,
-            matchBrackets: true,
-            extraKeys: {
-                "F11": function (cm) {
-                    cm.setOption("fullScreen", !cm.getOption("fullScreen"));
-                },
-                "Esc": function (cm) {
-                    if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
-                },
-                "Ctrl-Q": function (cm) {
-                    cm.foldCode(cm.getCursor());
-                }
-            },
-            theme: "neat",
-            keyMap: "sublime"
-        };
-
-
-        function goToGraph() {
-            window.location.href = '/projects/graph?type={{descriptor_type}}&id={{descriptor_id}}'
-        }
-    </script>
-{% endblock %}
diff --git a/projecthandler/template/project/descriptor/modal/choose_node_id.html b/projecthandler/template/project/descriptor/modal/choose_node_id.html
deleted file mode 100644
index 3bfea9e..0000000
--- a/projecthandler/template/project/descriptor/modal/choose_node_id.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<div class="modal" id="modal_choose_node_id" xmlns="http://www.w3.org/1999/html">
-    <div class="modal-dialog">
-        <div class="modal-content">
-            <div class="modal-header">
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                    <span aria-hidden="true">×</span></button>
-                <h4 class="modal-title" id="modal_chooser_title_add_node">Add node</h4>
-            </div>
-            <div class="modal-body">
-                <div id="div_chose_id">
-                    <label>Choose an id </label>
-                    <input name="input_choose_node_id" id="input_choose_node_id" type="text" size="40" maxlength="20"/>
-                </div>
-                {% block content_body %}
-
-                {% endblock %}
-            </div>
-
-            <div class="modal-footer">
-                <button type="button" class="btn btn-default pull-left" data-dismiss="modal">Cancel</button>
-                <button type="button" class="btn btn-primary" id="save_choose_node_id">Add</button>
-            </div>
-        </div>
-        <!-- /.modal-content -->
-    </div>
-    <!-- /.modal-dialog -->
-</div>
\ No newline at end of file
diff --git a/projecthandler/template/project/osm/descriptor/descriptor_new.html b/projecthandler/template/project/osm/descriptor/descriptor_new.html
deleted file mode 100644
index 7711b57..0000000
--- a/projecthandler/template/project/osm/descriptor/descriptor_new.html
+++ /dev/null
@@ -1,67 +0,0 @@
-{% extends "descriptor/descriptor_view_base.html" %}
-
-{% load staticfiles %}
-
-
-{% block title_header_big %}
-{{ block.super }}
-Onboard new {{ descriptor_type }} package
-{% endblock %}
-
-{% block left_sidebar %}
-{% include 'osm/osm_project_left_sidebar.html' %}
-{% endblock %}
-
-{% block breadcrumb_body %}
-{{ block.super }}
-<li><a href="{% url 'projects:open_project'  %}">{{project_id}}</a></li>
-<li><a href="{% url 'projects:open_project'  %}descriptors/{{descriptor_type}}">{{ descriptor_type }}  Descriptors</a></li>
-<li>Create Descriptor</li>
-{% endblock %}
-
-{% block tab_pane_button_list %}
-{{ block.super }}
-<li id="file_li" class="active"><a href="#upload" data-toggle="tab"><i class="fa fa-upload"></i> Onboard Package</a></li>
-{% endblock %}
-
-{% block nav_buttons_list %}
-{{ block.super }}
-<li class="pull-right">
-    <button id="cancel" type="button" class="btn btn-block btn-primary btn-sm" onclick="cancel(this.id)"><i
-            class="fa fa-times"></i> Cancel
-    </button>
-</li>
-{% endblock %}
-
-{% block tab_pane_list %}
-{{ block.super }}
-
-<div class="tab-pane active" id="upload">
-
-    <h4>Drag and drop file below</h4>
-    <div class="upload-drop-zone" id="drop-zone">
-            Just drag and drop files here
-    </div>
-</div>
-{% endblock %}
-
-
-{% block resource_block %}
-{{ block.super }}
-
-<script>
-    var descr_list_url = '{% url "projects:list_descriptors"   descriptor_type=descriptor_type%}';
-    var csrf_token = '{{csrf_token}}';
-    var new_desc_url ="{% url 'projects:new_descriptor'  descriptor_type=descriptor_type %}"
-
-    function cancel(id) {
-        window.location.href = descr_list_url
-    }
-
-</script>
-    <script src="/static/src/projecthandler/onboard_package.js"></script>
-{% endblock %}
-
-{% block footer %}
-    {% include "footer.html" %}
-{% endblock %}
diff --git a/projecthandler/template/project/osm/descriptor/descriptor_view.html b/projecthandler/template/project/osm/descriptor/descriptor_view.html
deleted file mode 100644
index aa43149..0000000
--- a/projecthandler/template/project/osm/descriptor/descriptor_view.html
+++ /dev/null
@@ -1,132 +0,0 @@
-{% extends "descriptor/descriptor_view_base.html" %}
-
-{% load staticfiles %}
-
-
-{% block title_header_big %}
-{{ block.super }}
-Edit {{ descriptor_type|upper }} Descriptor
-{% endblock %}
-
-
-{% block left_sidebar %}
-{% include 'osm/osm_project_left_sidebar.html' %}
-{% endblock %}
-
-{% block breadcrumb_body %}
-{{ block.super }}
-<li><a href="{% url 'projects:open_project' %}">{{project_id}}</a></li>
-<li><a href="{% url 'projects:list_descriptors' descriptor_type=descriptor_type %}">{{ descriptor_type }} Descriptors</a></li>
-<li><a>{{descriptor_id}}</a></li>
-{% endblock %}
-
-{% block tab_pane_button_list %}
-{{ block.super }}
-<li class="active" id="yaml_li"><a href="#yaml" data-toggle="tab"><i class="fa fa-file-code-o"></i> YAML</a></li>
-<li id="json_li"><a href="#json" data-toggle="tab"><i class="fa fa-file-code-o"></i> JSON</a></li>
-{% endblock %}
-
-{% block nav_buttons_list %}
-    {{ block.super }}
-    <li class="pull-right"><button id="save" type="button" class="btn btn-block btn-primary btn-sm"  onclick="update(this.id)" ><i class="fa fa-save"></i> Update</button></li>
-    <li class="pull-right"><button id="save_show_graph" type="button" class="btn btn-block btn-primary btn-sm"  onclick="update(this.id)" disabled><i class="fa fa-save"></i> Update and Show Graph</button></li>
-    <li class="pull-right"><button type="button" class="btn btn-block btn-primary btn-sm"  onclick="goToGraph()" disabled><i class="fa fa-sitemap"></i> Show Graph</button></li>
-
-{% endblock %}
-
-{% block tab_pane_list %}
-{{ block.super }}
-
-<!-- /.tab-pane -->
-<div class="active tab-pane" id="yaml">
-    <textarea id="code_editor_yaml">
-    </textarea>
-</div>
-<!-- /.tab-pane-->
-
-<div class="tab-pane" id="json">
-    <textarea id="code_editor_json">
-    </textarea>
-</div>
-
-{% endblock %}
-
-{% block resource_block %}
-{{ block.super }}
-
-
-<script>
-    var editorJSON;
-    var editorYaml;
-
-    $(document).ready(function () {
-        //var cmjsoneditor = CodeMirror.fromTextArea(document.getElementById("code_editor"), json_editor_settings);
-        var myJsonTextArea = document.getElementById("code_editor_json");
-        editorJSON = CodeMirror(function (elt) {
-            myJsonTextArea.parentNode.replaceChild(elt, myJsonTextArea);
-        }, json_editor_settings);
-        editorJSON.setValue(JSON.stringify({{descriptor_strings.descriptor_string_json | safe}}, null, "\t"));
-        editorJSON.setOption("autoRefresh", true);
-        editorJSON.setSize("auto", "auto");
-
-        var myYamlTextArea = document.getElementById("code_editor_yaml");
-        editorYaml = CodeMirror(function (elt) {
-            myYamlTextArea.parentNode.replaceChild(elt, myYamlTextArea);
-        }, yaml_editor_settings);
-        var des_strings = {{descriptor_strings | safe}};
-        editorYaml.setValue(des_strings.descriptor_string_yaml);
-        editorYaml.setSize("auto", "auto");
-    });
-
-
-    function update(e) {
-        var dialog = bootbox.dialog({
-            message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
-            closeButton: false
-        });
-
-        var id = $('.nav-tabs .active').attr('id');
-        var type, text;
-        switch (id) {
-            case 'yaml_li':
-                type = 'yaml';
-                text = editorYaml.getValue();
-                break;
-            case 'json_li':
-                type = 'json';
-                text = editorJSON.getValue();
-                break;
-        }
-        $.ajax({
-            url: "/projects/descriptors/{{descriptor_type}}/{{descriptor_id}}/",
-            type: 'POST',
-            dataType: 'json',
-            data: {
-                'csrfmiddlewaretoken': '{{csrf_token}}',
-                'type': type,
-                'text': text
-            },
-            success: function (result) {
-                dialog.modal('hide');
-                $("#success-alert").fadeTo(2000, 500).slideDown(500, function(){
-                    setTimeout(function () {
-                        $("#success-alert").slideUp(500);
-                    }, 2000);
-
-                });
-            },
-            error: function (result) {
-                console.log(result);
-                dialog.modal('hide');
-                bootbox.alert(result);
-            }
-        });
-    }
-
-</script>
-{% endblock %}
-
-
-{% block footer %}
-    {% include "footer.html"  %}
-{% endblock %}
diff --git a/projecthandler/template/project/osm/descriptor/descriptorlist.html b/projecthandler/template/project/osm/descriptor/descriptorlist.html
deleted file mode 100644
index b2222e2..0000000
--- a/projecthandler/template/project/osm/descriptor/descriptorlist.html
+++ /dev/null
@@ -1,51 +0,0 @@
-{% load staticfiles %}
-{% load get %}
-<div class="col-md-12">
-
-    <div class="box">
-        <div class="box-header with-border">
-            <h3 class="box-title">
-            </h3>
-            <div class="box-tools">
-                <div class="btn-group">
-                    <!--
-                <a href="{% url 'projects:open_composer'%}"
-                   class="btn btn-block btn-primary btn-sm"><i
-                        class="fa fa-paint-brush" disabled></i><span> Composer</span></a>
-                        -->
-                </div>
-            </div>
-        </div>
-        <div class="box-body">
-            <table id="descriptors_table" class="table table-bordered table-striped dataTable"
-                   role="grid">
-                <thead>
-                <tr role="row">
-                    <th>Name</th>
-                    <th>Identified</th>
-                    <th>Description</th>
-                    <th style="width:10%">Vendor</th>
-                    <th style="width:5%">Version</th>
-                    <th style="width:35%">Actions</th>
-                </tr>
-                </thead>
-                <tbody>
-
-                </tbody>
-
-            </table>
-        </div>
-    </div>
-</div>
-
-<div class="col-sm-12">
-    <div class="box box-solid">
-        <div class="box-body">
-
-            <div class="upload-drop-zone" id="drop-zone">
-               <i class="fa fa-upload"></i> Just drag and drop files here
-            </div>
-        </div>
-    </div>
-</div>
-
diff --git a/projecthandler/template/project/osm/descriptor/modal/choose_node_id.html b/projecthandler/template/project/osm/descriptor/modal/choose_node_id.html
deleted file mode 100644
index 91c4d20..0000000
--- a/projecthandler/template/project/osm/descriptor/modal/choose_node_id.html
+++ /dev/null
@@ -1 +0,0 @@
-{% extends "descriptor/modal/choose_node_id.html" %}
\ No newline at end of file
diff --git a/projecthandler/template/project/osm/descriptor/modal/create_link_chooser.html b/projecthandler/template/project/osm/descriptor/modal/create_link_chooser.html
deleted file mode 100644
index ed9a4a5..0000000
--- a/projecthandler/template/project/osm/descriptor/modal/create_link_chooser.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<div class="modal" id="modal_create_link_chooser">
-  <div class="modal-dialog">
-    <div class="modal-content">
-      <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-          <span aria-hidden="true">×</span></button>
-        <h4 class="modal-title" id="modal_chooser_title">Default Modal</h4>
-      </div>
-      <div class="modal-body" >
-          <select class="form-control" id="selection_chooser">
-          </select>
-    </div>
-      <div class="modal-footer">
-        <button type="button" class="btn btn-default pull-left" data-dismiss="modal">Close</button>
-        <button type="button" class="btn btn-primary" id="save_chooser">Save changes</button>
-      </div>
-    </div>
-    <!-- /.modal-content -->
-  </div>
-  <!-- /.modal-dialog -->
-</div>
\ No newline at end of file
diff --git a/projecthandler/template/project/osm/osm_project_descriptors.html b/projecthandler/template/project/osm/osm_project_descriptors.html
index 83a8b38..8c1ceb2 100644
--- a/projecthandler/template/project/osm/osm_project_descriptors.html
+++ b/projecthandler/template/project/osm/osm_project_descriptors.html
@@ -36,7 +36,7 @@
 {% include 'osm/modal/files_list.html' %}
 {% include 'modal/instance_create.html' %}
 <div class="row">
-    {% include "osm/descriptor/descriptorlist.html" %}
+    {% include "descriptorlist.html" %}
 </div>
 {% endblock %}
 
@@ -52,9 +52,9 @@
 
     <script>
     var csrf_token = '{{csrf_token}}';
-    var descr_list_url = '{% url "projects:list_descriptors"   descriptor_type=descriptor_type%}';
+    var descr_list_url = '{% url "projects:descriptors:list_descriptors"   descriptor_type=descriptor_type%}';
     var vim_list_url = '{% url "vims:list"  %}';
-    var new_desc_url ="{% url 'projects:new_descriptor'  descriptor_type=descriptor_type %}";
+    var new_desc_url ="{% url 'projects:descriptors:new_descriptor'  descriptor_type=descriptor_type %}";
     var descriptor_type = '{{ descriptor_type | safe }}';
     var project_id = '{{ project_id }}';
     var table;
diff --git a/projecthandler/template/project/osm/osm_project_details.html b/projecthandler/template/project/osm/osm_project_details.html
index d5edc1e..d4b7eb5 100644
--- a/projecthandler/template/project/osm/osm_project_details.html
+++ b/projecthandler/template/project/osm/osm_project_details.html
@@ -44,7 +44,7 @@
                     <div class="inner"><h3>{{ project_overview.nsd }}</h3>
                         <p>NS packages</p></div>
                     <div class="icon"><i class="fa fa-archive"></i></div>
-                    <a href='{% url "projects:list_descriptors"   descriptor_type="nsd" %}' class="small-box-footer">Open list <i
+                    <a href='{% url "projects:descriptors:list_descriptors"   descriptor_type="nsd" %}' class="small-box-footer">Open list <i
                             class="fa fa-arrow-circle-right"></i></a></div>
             </div>
             <div class="col-md-6 ">
@@ -52,7 +52,7 @@
                     <div class="inner"><h3>{{ project_overview.vnfd }}</h3>
                         <p>VNF packages</p></div>
                     <div class="icon"><i class="fa fa-archive"></i></div>
-                    <a href='{% url "projects:list_descriptors"   descriptor_type="vnfd" %}' class="small-box-footer">Open list <i
+                    <a href='{% url "projects:descriptors:list_descriptors"   descriptor_type="vnfd" %}' class="small-box-footer">Open list <i
                             class="fa fa-arrow-circle-right"></i></a></div>
             </div>
         </div>
diff --git a/projecthandler/template/project/osm/osm_project_left_sidebar.html b/projecthandler/template/project/osm/osm_project_left_sidebar.html
index 5bd34fd..63f9854 100644
--- a/projecthandler/template/project/osm/osm_project_left_sidebar.html
+++ b/projecthandler/template/project/osm/osm_project_left_sidebar.html
@@ -14,8 +14,8 @@
                     <i class="fa fa-file-text fa-fw"></i> <span>Overview</span>
                 </a>
             </li>
-            {% url "projects:list_descriptors"   descriptor_type="nsd" as  nsd_list_url %}
-            {% url "projects:list_descriptors"   descriptor_type='vnfd' as  vnfd_list_url %}
+            {% url "projects:descriptors:list_descriptors"   descriptor_type="nsd" as  nsd_list_url %}
+            {% url "projects:descriptors:list_descriptors"   descriptor_type='vnfd' as  vnfd_list_url %}
             <li {% if request.get_full_path == nsd_list_url or  request.get_full_path == vnfd_list_url %}
                 class="active treeview menu-open" {% else %} class="treeview  menu-open" {% endif %} >
                 <a href="#">
diff --git a/projecthandler/template/project/osm/project_graph.html b/projecthandler/template/project/osm/project_graph.html
index 15d2eeb..3d94118 100644
--- a/projecthandler/template/project/osm/project_graph.html
+++ b/projecthandler/template/project/osm/project_graph.html
@@ -36,9 +36,8 @@
  {% csrf_token %}
 
 
-{% include 'osm/descriptor/modal/create_link_chooser.html' %}
-{% include 'osm/descriptor/modal/choose_node_id.html' %}
-{% include 'osm/modal/modal_keyboard_info.html' %}
+{% include 'modal/create_link_chooser.html' %}
+{% include 'modal/choose_node_id.html' %}
 {% endblock %}
 
 {% block resource_block %}
diff --git a/projecthandler/template/project/project_graph_base.html b/projecthandler/template/project/project_graph_base.html
index 282afb4..5c43e22 100644
--- a/projecthandler/template/project/project_graph_base.html
+++ b/projecthandler/template/project/project_graph_base.html
@@ -30,9 +30,8 @@
 {% block content_body %}
     {{ block.super }}
     {% csrf_token %}
-    {% include 'osm/descriptor/modal/create_link_chooser.html' %}
-{% include 'osm/descriptor/modal/choose_node_id.html' %}
-{% include 'osm/modal/modal_keyboard_info.html' %}
+    {% include 'modal/create_link_chooser.html' %}
+    {% include 'modal/choose_node_id.html' %}
     <div class="row" >
         <div class="col-md-12">
             {% block topology_toolbar %}
