diff --git a/app/contributions/routes.py b/app/contributions/routes.py
index 1466444c3d1660cd2b0c5a2e8c121629d261ee54..79ed3fa84d38339adbe7c73ad508649d35c01fdc 100644
--- a/app/contributions/routes.py
+++ b/app/contributions/routes.py
@@ -32,6 +32,14 @@ def contributions():
     )
 
 
+@bp.route('/tesseract-ocr-pipeline-models')
+def tesseract_ocr_pipeline_models():
+    return render_template(
+        'contributions/tesseract_ocr_pipeline_models.html.j2',
+        title='Tesseract OCR Pipeline Models'
+    )
+
+
 @bp.route('/tesseract-ocr-pipeline-models/<hashid:tesseract_ocr_pipeline_model_id>', methods=['GET', 'POST'])
 def tesseract_ocr_pipeline_model(tesseract_ocr_pipeline_model_id):
     tesseract_ocr_pipeline_model = TesseractOCRPipelineModel.query.get_or_404(tesseract_ocr_pipeline_model_id)
@@ -127,6 +135,14 @@ def create_tesseract_ocr_pipeline_model():
     )
 
 
+@bp.route('/spacy-nlp-pipeline-models')
+def spacy_nlp_pipeline_models():
+    return render_template(
+        'contributions/spacy_nlp_pipeline_models.html.j2',
+        title='SpaCy NLP Pipeline Models'
+    )
+
+
 @bp.route('/spacy-nlp-pipeline-models/<hashid:spacy_nlp_pipeline_model_id>', methods=['GET', 'POST'])
 def spacy_nlp_pipeline_model(spacy_nlp_pipeline_model_id):
     spacy_nlp_pipeline_model = SpaCyNLPPipelineModel.query.get_or_404(spacy_nlp_pipeline_model_id)
diff --git a/app/corpora/query_results_forms.py b/app/corpora/query_results_forms.py
deleted file mode 100644
index bb55e5132ff23afd083bfae7292e29992b694905..0000000000000000000000000000000000000000
--- a/app/corpora/query_results_forms.py
+++ /dev/null
@@ -1,21 +0,0 @@
-from flask_wtf import FlaskForm
-from werkzeug.utils import secure_filename
-from wtforms import FileField, StringField, SubmitField, ValidationError
-from wtforms.validators import DataRequired, Length
-
-
-class AddQueryResultForm(FlaskForm):
-    '''
-    Form used to import one result json file.
-    '''
-    description = StringField('Description',
-                              validators=[DataRequired(), Length(1, 255)])
-    file = FileField('File', validators=[DataRequired()])
-    title = StringField('Title', validators=[DataRequired(), Length(1, 32)])
-    submit = SubmitField()
-
-    def validate_file(self, field):
-        if not field.data.filename.lower().endswith('.json'):
-            raise ValidationError('File does not have an approved extension: '
-                                  '.json')
-        field.data.filename = secure_filename(field.data.filename)
diff --git a/app/corpora/query_results_routes.py b/app/corpora/query_results_routes.py
deleted file mode 100644
index 6c22e11efdcad32859216ee1d918f1b41f743718..0000000000000000000000000000000000000000
--- a/app/corpora/query_results_routes.py
+++ /dev/null
@@ -1,135 +0,0 @@
-from flask import (abort, current_app, flash, make_response, redirect, request,
-                   render_template, url_for, send_from_directory)
-from flask_login import current_user, login_required
-from . import bp
-from . import tasks
-from .forms import (AddQueryResultForm, DisplayOptionsForm,
-                    InspectDisplayOptionsForm)
-from .. import db
-from ..models import QueryResult
-import json
-import os
-
-
-@bp.route('/result/add', methods=['GET', 'POST'])
-@login_required
-def add_query_result():
-    '''
-    View to import a result as a json file.
-    '''
-    abort(503)
-    form = AddQueryResultForm(prefix='add-query-result-form')
-    if form.is_submitted():
-        if not form.validate():
-            return make_response(form.errors, 400)
-        query_result = QueryResult(user=current_user,
-                                   description=form.description.data,
-                                   filename=form.file.data.filename,
-                                   title=form.title.data)
-        db.session.add(query_result)
-        db.session.flush()
-        db.session.refresh(query_result)
-        try:
-            os.makedirs(os.path.dirname(query_result.path))
-        except OSError:
-            current_app.logger.error(
-                f'Make dir {query_result.path} led to an OSError!')
-            db.session.rollback()
-            flash('Internal Server Error', 'error')
-            return make_response(
-                {'redirect_url': url_for('.add_query_result')}, 500)
-        # save the uploaded file
-        form.file.data.save(query_result.path)
-        # parse json from file
-        with open(query_result.path, 'r') as file:
-            query_result_file_content = json.load(file)
-        # parse json schema
-        # with open('app/static/json_schema/nopaque_cqi_py_results_schema.json', 'r') as file:  # noqa
-        #     schema = json.load(file)
-        # try:
-        #     # validate imported json file
-        #     validate(instance=query_result_file_content, schema=schema)
-        # except Exception:
-        #     tasks.delete_query_result(query_result.id)
-        #     flash('Uploaded file is invalid', 'result')
-        #     return make_response(
-        #         {'redirect_url': url_for('.add_query_result')}, 201)
-        query_result_file_content.pop('matches')
-        query_result_file_content.pop('cpos_lookup')
-        query_result.query_metadata = query_result_file_content
-        db.session.commit()
-        flash('Query result added', 'result')
-        return make_response({'redirect_url': url_for('.query_result', query_result_id=query_result.id)}, 201)  # noqa
-    return render_template('corpora/query_results/add_query_result.html.j2',
-                           form=form, title='Add query result')
-
-
-@bp.route('/result/<hashid:query_result_id>')
-@login_required
-def query_result(query_result_id):
-    abort(503)
-    query_result = QueryResult.query.get_or_404(query_result_id)
-    if not (query_result.user == current_user
-            or current_user.is_administrator()):
-        abort(403)
-    return render_template('corpora/query_results/query_result.html.j2',
-                           query_result=query_result, title='Query result')
-
-
-@bp.route('/result/<hashid:query_result_id>/inspect')
-@login_required
-def inspect_query_result(query_result_id):
-    '''
-    View to inspect imported result file in a corpus analysis like interface
-    '''
-    abort(503)
-    query_result = QueryResult.query.get_or_404(query_result_id)
-    query_metadata = query_result.query_metadata
-    if not (query_result.user == current_user
-            or current_user.is_administrator()):
-        abort(403)
-    display_options_form = DisplayOptionsForm(
-        prefix='display-options-form',
-        results_per_page=request.args.get('results_per_page', 30),
-        result_context=request.args.get('context', 20)
-    )
-    inspect_display_options_form = InspectDisplayOptionsForm(
-        prefix='inspect-display-options-form'
-    )
-    with open(query_result.path, 'r') as query_result_file:
-        query_result_file_content = json.load(query_result_file)
-    return render_template(
-        'corpora/query_results/inspect.html.j2',
-        query_result=query_result,
-        display_options_form=display_options_form,
-        inspect_display_options_form=inspect_display_options_form,  # noqa
-        query_result_file_content=query_result_file_content,
-        query_metadata=query_metadata,
-        title='Inspect query result'
-   )
-
-
-@bp.route('/result/<hashid:query_result_id>/delete')
-@login_required
-def delete_query_result(query_result_id):
-    abort(503)
-    query_result = QueryResult.query.get_or_404(query_result_id)
-    if not (query_result.user == current_user
-            or current_user.is_administrator()):
-        abort(403)
-    flash(f'Query result "{query_result}" marked for deletion', 'result')
-    tasks.delete_query_result(query_result_id)
-    return redirect(url_for('services.service', service="corpus_analysis"))
-
-
-@bp.route('/result/<hashid:query_result_id>/download')
-@login_required
-def download_query_result(query_result_id):
-    abort(503)
-    query_result = QueryResult.query.get_or_404(query_result_id)
-    if not (query_result.user == current_user
-            or current_user.is_administrator()):
-        abort(403)
-    return send_from_directory(as_attachment=True,
-                               directory=os.path.dirname(query_result.path),
-                               filename=query_result.filename)
diff --git a/app/corpora/query_results_tasks.py b/app/corpora/query_results_tasks.py
deleted file mode 100644
index 653096b3a36e5a0c17d0af749bb760092d761a89..0000000000000000000000000000000000000000
--- a/app/corpora/query_results_tasks.py
+++ /dev/null
@@ -1,13 +0,0 @@
-from .. import db
-from ..decorators import background
-from ..models import QueryResult
-
-
-@background
-def delete_query_result(query_result_id, *args, **kwargs):
-    with kwargs['app'].app_context():
-        query_result = QueryResult.query.get(query_result_id)
-        if query_result is None:
-            raise Exception(f'QueryResult {query_result_id} not found')
-        query_result.delete()
-        db.session.commit()
diff --git a/app/static/js/RessourceLists/QueryResultList.js b/app/static/js/RessourceLists/QueryResultList.js
deleted file mode 100644
index cffc43181ed04f9ddcdefcb10ec2ca3128a73fcf..0000000000000000000000000000000000000000
--- a/app/static/js/RessourceLists/QueryResultList.js
+++ /dev/null
@@ -1,134 +0,0 @@
-class QueryResultList extends RessourceList {
-  static autoInit() {
-    for (let queryResultListElement of document.querySelectorAll('.query-result-list:not(.no-autoinit)')) {
-      new QueryResultList(queryResultListElement);
-    }
-  }
-
-  static options = {
-    item: `
-      <tr class="hoverable">
-        <td><b class="title"></b><br><i class="description"></i><br></td>
-        <td><span class="corpus-title"></span><br><span class="query"></span></td>
-        <td class="right-align">
-          <a class="action-button btn-floating red waves-effect waves-light" data-action="delete"><i class="material-icons">delete</i></a>
-          <a class="action-button btn-floating waves-effect waves-light" data-action="view"><i class="material-icons">send</i></a>
-        </td>
-      </tr>
-    `.trim(),
-    ressourceMapper: queryResult => {
-      return {
-        'id': queryResult.id,
-        'corpus-title': queryResult.corpus_title,
-        'creation-date': queryResult.creation_date,
-        'description': queryResult.description,
-        'query': queryResult.query,
-        'title': queryResult.title
-      };
-    },
-    sortArgs: ['creation-date', {order: 'desc'}],
-    valueNames: [
-      {data: ['id']},
-      {data: ['creation-date']},
-      'corpus-title',
-      'description',
-      'query',
-      'title'
-    ]
-  };
-
-  constructor(listElement, options = {}) {
-    super(listElement, {...QueryResultList.options, ...options});
-  }
-
-  init(user) {
-    super._init(user.query_results);
-  }
-
-  onclick(event) {
-    let action;
-    let actionButtonElement;
-    let deleteModal;
-    let deleteModalElement;
-    let queryResultElement;
-    let queryResultId;
-    let tmp;
-
-    queryResultElement = event.target.closest('tr[data-id]');
-    if (queryResultElement === null) {return;}
-    queryResultId = queryResultElement.dataset.id;
-    actionButtonElement = event.target.closest('.action-button[data-action]');
-    action = actionButtonElement === null ? 'view' : actionButtonElement.dataset.action;
-    switch (action) {
-      case 'delete':
-        tmp = document.createElement('div');
-        tmp.innerHTML = `
-          <div class="modal">
-            <div class="modal-content">
-              <h4>Confirm query result deletion</h4>
-              <p>Do you really want to delete the query result <b>${app.users[this.userId].query_results[queryResultId].title}</b>? It will be permanently deleted!</p>
-            </div>
-            <div class="modal-footer">
-              <a href="#!" class="btn modal-close waves-effect waves-light">Cancel</a>
-              <a class="btn modal-close red waves-effect waves-light" href="/query_results/${queryResultId}/delete"><i class="material-icons left">delete</i>Delete</a>
-            </div>
-          </div>
-        `.trim();
-        deleteModalElement = document.querySelector('#modals').appendChild(tmp.firstChild);
-        deleteModal = M.Modal.init(
-          deleteModalElement,
-          {
-            onCloseEnd: () => {
-              deleteModal.destroy();
-              deleteModalElement.remove();
-            }
-          }
-        );
-        deleteModal.open();
-        break;
-      case 'view':
-        window.location.href = `/query_results/${queryResultId}`;
-        break;
-      default:
-        break;
-    }
-  }
-
-  onPATCH(patch) {
-    let filteredPatch;
-    let match;
-    let operation;
-    let queryResultId;
-    let re;
-    let valueName;
-
-    re = new RegExp(`^/users/${this.userId}/query_results/([A-Za-z0-9]*)`);
-    filteredPatch = patch.filter(operation => re.test(operation.path));
-    for (operation of filteredPatch) {
-      switch(operation.op) {
-        case 'add':
-          re = new RegExp(`^/users/${this.userId}/query_results/([A-Za-z0-9]*)$`);
-          if (re.test(operation.path)) {
-            this.add(operation.value);
-          }
-          break;
-        case 'remove':
-          re = new RegExp(`^/users/${this.userId}/query_results/([A-Za-z0-9]*)$`);
-          if (re.test(operation.path)) {
-            [match, queryResultId] = operation.path.match(re);
-            this.remove(queryResultId);
-          }
-          break;
-        case 'replace':
-          re = new RegExp(`^/users/${this.userId}/query_results/([A-Za-z0-9]*)/(corpus_title|description|query|title)$`);
-          if (re.test(operation.path)) {
-            [match, queryResultId, valueName] = operation.path.match(re);
-            this.replace(queryResultId, valueName.replace('_', '-'), operation.value);
-          }
-          break;
-        default:
-          break;
-      }
-    }
-  }
-}
diff --git a/app/static/js/RessourceLists/RessourceList.js b/app/static/js/RessourceLists/RessourceList.js
index a22420545ffe053ce56671e8279103580197756e..871a1e2f89cb6286d860ce559da81fbba43453a5 100644
--- a/app/static/js/RessourceLists/RessourceList.js
+++ b/app/static/js/RessourceLists/RessourceList.js
@@ -10,9 +10,8 @@ class RessourceList {
     JobList.autoInit();
     JobInputList.autoInit();
     JobResultList.autoInit();
-    SpacyNLPPipelineModelList.autoInit();
+    SpaCyNLPPipelineModelList.autoInit();
     TesseractOCRPipelineModelList.autoInit();
-    QueryResultList.autoInit();
     UserList.autoInit();
   }
 
diff --git a/app/static/js/RessourceLists/SpacyNLPPipelineModelList.js b/app/static/js/RessourceLists/SpacyNLPPipelineModelList.js
index fcc68a0d3a62ddbb12107a62ec95e923ecc434cc..9a760be0684f11e8d144dd6769f8659257baa816 100644
--- a/app/static/js/RessourceLists/SpacyNLPPipelineModelList.js
+++ b/app/static/js/RessourceLists/SpacyNLPPipelineModelList.js
@@ -1,7 +1,7 @@
-class SpacyNLPPipelineModelList extends RessourceList {
+class SpaCyNLPPipelineModelList extends RessourceList {
   static autoInit() {
     for (let spaCyNLPPipelineModelListElement of document.querySelectorAll('.spacy-nlp-pipeline-model-list:not(.no-autoinit)')) {
-      new SpacyNLPPipelineModelList(spaCyNLPPipelineModelListElement);
+      new SpaCyNLPPipelineModelList(spaCyNLPPipelineModelListElement);
     }
   }
 
@@ -70,7 +70,7 @@ class SpacyNLPPipelineModelList extends RessourceList {
   };
 
   constructor(listElement, options = {}) {
-    super(listElement, {...SpacyNLPPipelineModelList.options, ...options});
+    super(listElement, {...SpaCyNLPPipelineModelList.options, ...options});
   }
 
   init (user) {
diff --git a/app/static/js/Utils.js b/app/static/js/Utils.js
index e6076e43b36d09ce29382add3509b685b32ccbe4..4a2740549e574bda8ba8034030547bdada56feb7 100644
--- a/app/static/js/Utils.js
+++ b/app/static/js/Utils.js
@@ -33,8 +33,8 @@ class Utils {
         `
           <div class="modal">
             <div class="modal-content">
-              <h4>Confirm job deletion</h4>
-              <p>Do you really want to delete the job <b>${corpus.title}</b>? All files will be permanently deleted!</p>
+              <h4>Confirm Corpus deletion</h4>
+              <p>Do you really want to delete the Corpus <b>${corpus.title}</b>? All files will be permanently deleted!</p>
             </div>
             <div class="modal-footer">
               <a class="action-button btn modal-close waves-effect waves-light" data-action="cancel">Cancel</a>
@@ -230,8 +230,8 @@ class Utils {
         `
           <div class="modal">
             <div class="modal-content">
-              <h4>Confirm job deletion</h4>
-              <p>Do you really want to delete the job <b>${job.title}</b>? All files will be permanently deleted!</p>
+              <h4>Confirm Job deletion</h4>
+              <p>Do you really want to delete the Job <b>${job.title}</b>? All files will be permanently deleted!</p>
             </div>
             <div class="modal-footer">
               <a class="action-button btn modal-close waves-effect waves-light" data-action="cancel">Cancel</a>
@@ -327,8 +327,8 @@ class Utils {
         `
           <div class="modal">
             <div class="modal-content">
-              <h4>Confirm job restart</h4>
-              <p>Do you really want to restart the job <b>${job.title}</b>? All log and result files will be permanently deleted.</p>
+              <h4>Confirm Job restart</h4>
+              <p>Do you really want to restart the Job <b>${job.title}</b>? All Job Results will be permanently deleted.</p>
             </div>
             <div class="modal-footer">
               <a class="action-button btn modal-close waves-effect waves-light" data-action="cancel">Cancel</a>
@@ -378,8 +378,8 @@ class Utils {
         `
           <div class="modal">
             <div class="modal-content">
-              <h4>Confirm job deletion</h4>
-              <p>Do you really want to delete the user <b>${user.username}</b>? All files will be permanently deleted!</p>
+              <h4>Confirm User deletion</h4>
+              <p>Do you really want to delete the User <b>${user.username}</b>? All files will be permanently deleted!</p>
             </div>
             <div class="modal-footer">
               <a class="action-button btn modal-close waves-effect waves-light" data-action="cancel">Cancel</a>
diff --git a/app/templates/_scripts.html.j2 b/app/templates/_scripts.html.j2
index 49a4d69faae3391cc796d584537ea7dbaade1ff6..323c576cfac70b167924cc32bf6bf935462051cb 100644
--- a/app/templates/_scripts.html.j2
+++ b/app/templates/_scripts.html.j2
@@ -26,7 +26,6 @@
   'js/RessourceLists/JobResultList.js',
   'js/RessourceLists/SpacyNLPPipelineModelList.js',
   'js/RessourceLists/TesseractOCRPipelineModelList.js',
-  'js/RessourceLists/QueryResultList.js',
   'js/RessourceLists/UserList.js'
 %}
 <script src="{{ ASSET_URL }}"></script>
diff --git a/app/templates/contributions/contributions.html.j2 b/app/templates/contributions/contributions.html.j2
index da2cdcad41b2922dc09021a99811baebf05ea508..64f1fac67ac0a7f7faeff252af596308767d551e 100644
--- a/app/templates/contributions/contributions.html.j2
+++ b/app/templates/contributions/contributions.html.j2
@@ -7,42 +7,34 @@
   <div class="row">
     <div class="col s12">
       <h1 id="title">{{ title }}</h1>
+    </div>
 
-      {# Tesseract OCR Models #}
-      <div>
-        <h3>My Tesseract OCR Pipeline Models</h3>
-        <p>Here you can see and edit the models that you have created. You can also create new models.</p>
+    <div class="col s4">
+      <div class="card extension-selector hoverable service-color" data-service="tesseract-ocr-pipeline">
+        <a href="{{ url_for('.tesseract_ocr_pipeline_models') }}" style="position: absolute; width: 100%; height: 100%;"></a>
+        <div class="card-content">
+          <span class="card-title" data-service="tesseract-ocr-pipeline"><i class="nopaque-icons service-icon" data-service="tesseract-ocr-pipeline"></i>Tesseract OCR Pipeline Models</span>
+          <p>Here you can see and edit the models that you have created. You can also create new models.</p>
+        </div>
+      </div>
+    </div>
 
-        <div class="row">
-          <div class="col s12">
-            <div class="card">
-              <div class="card-content">
-                <div class="tesseract-ocr-pipeline-model-list" data-user-id="{{ current_user.hashid }}"></div>
-              </div>
-              <div class="card-action right-align">
-                <a href="{{ url_for('.create_tesseract_ocr_pipeline_model') }}" class="btn waves-effect waves-light"><i class="material-icons left">add</i>Create</a>
-              </div>
-            </div>
-          </div>
+    <div class="col s4">
+      <div class="card extension-selector hoverable service-color" data-service="spacy-nlp-pipeline">
+      <a href="{{ url_for('.spacy_nlp_pipeline_models') }}" style="position: absolute; width: 100%; height: 100%;"></a>
+        <div class="card-content">
+          <span class="card-title"><i class="nopaque-icons service-icon" data-service="spacy-nlp-pipeline"></i>SpaCy NLP Pipeline Models</span>
+          <p>Here you can see and edit the models that you have created. You can also create new models.</p>
         </div>
       </div>
-      
-      {# spaCy NLP Models #}
-      <div>
-        <h3>My spaCy NLP Pipeline Models</h3>
-        <p>Here you can see and edit the models that you have created. You can also create new models.</p>
+    </div>
 
-        <div class="row">
-          <div class="col s12">
-            <div class="card">
-              <div class="card-content">
-                <div class="spacy-nlp-pipeline-model-list" data-user-id="{{ current_user.hashid }}"></div>
-              </div>
-              <div class="card-action right-align">
-                <a href="{{ url_for('.create_spacy_nlp_pipeline_model') }}" class="btn waves-effect waves-light"><i class="material-icons left">add</i>Create</a>
-              </div>
-            </div>
-          </div>
+    <div class="col s4">
+      <div class="card extension-selector hoverable service-color" data-service="transkribus-htr-pipeline">
+      <a href="" style="position: absolute; width: 100%; height: 100%;"></a>
+        <div class="card-content">
+          <span class="card-title"><i class="nopaque-icons service-icon" data-service="transkribus-htr-pipeline"></i>Transkribus HTR Pipeline Models</span>
+          <p>Here you can see and edit the models that you have created. You can also create new models.</p>
         </div>
       </div>
     </div>
diff --git a/app/templates/contributions/spacy_nlp_pipeline_models.html.j2 b/app/templates/contributions/spacy_nlp_pipeline_models.html.j2
new file mode 100644
index 0000000000000000000000000000000000000000..f3c7a40ee113b0c49893f6fedc0d8b5312082a6f
--- /dev/null
+++ b/app/templates/contributions/spacy_nlp_pipeline_models.html.j2
@@ -0,0 +1,25 @@
+{% extends "base.html.j2" %}
+{% import "materialize/wtf.html.j2" as wtf %}
+{% from "contributions/_breadcrumbs.html.j2" import breadcrumbs with context %}
+
+{% block page_content %}
+<div class="container">
+  <div class="row">
+    <div class="col s12">
+      <h1 id="title">{{ title }}</h1>
+      <p>Here you can see and edit the models that you have created. You can also create new models.</p>
+    </div>
+
+    <div class="col s12">
+      <div class="card">
+        <div class="card-content">
+          <div class="spacy-nlp-pipeline-model-list" data-user-id="{{ current_user.hashid }}"></div>
+        </div>
+        <div class="card-action right-align">
+          <a href="{{ url_for('.create_spacy_nlp_pipeline_model') }}" class="btn waves-effect waves-light"><i class="material-icons left">add</i>Create</a>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+{% endblock page_content %}
diff --git a/app/templates/contributions/tesseract_ocr_pipeline_models.html.j2 b/app/templates/contributions/tesseract_ocr_pipeline_models.html.j2
new file mode 100644
index 0000000000000000000000000000000000000000..3d43d72769ba5204c528102294648ec5e06524bf
--- /dev/null
+++ b/app/templates/contributions/tesseract_ocr_pipeline_models.html.j2
@@ -0,0 +1,25 @@
+{% extends "base.html.j2" %}
+{% import "materialize/wtf.html.j2" as wtf %}
+{% from "contributions/_breadcrumbs.html.j2" import breadcrumbs with context %}
+
+{% block page_content %}
+<div class="container">
+  <div class="row">
+    <div class="col s12">
+      <h1 id="title">{{ title }}</h1>
+      <p>Here you can see and edit the models that you have created. You can also create new models.</p>
+    </div>
+
+    <div class="col s12">
+      <div class="card">
+        <div class="card-content">
+          <div class="tesseract-ocr-pipeline-model-list" data-user-id="{{ current_user.hashid }}"></div>
+        </div>
+        <div class="card-action right-align">
+          <a href="{{ url_for('.create_tesseract_ocr_pipeline_model') }}" class="btn waves-effect waves-light"><i class="material-icons left">add</i>Create</a>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+{% endblock page_content %}
diff --git a/app/templates/corpora/analyse_corpus.html.j2 b/app/templates/corpora/analyse_corpus.html.j2
index 779eafd4e707a92d450bacf0639ddd9b391e4464..73ebfd774f0420c7a11e36ad1b0e692399a11dac 100644
--- a/app/templates/corpora/analyse_corpus.html.j2
+++ b/app/templates/corpora/analyse_corpus.html.j2
@@ -1,9 +1,5 @@
 {% extends "base.html.j2" %}
 {% import "materialize/wtf.html.j2" as wtf %}
-<style>
-  a   {color: #FFFFFF;}
-</style>
-
 {% block main_attribs %} class="service-scheme" data-service="corpus-analysis" id="corpus-analysis-app-container"{% endblock main_attribs %}
 
 {% block page_content %}
diff --git a/app/templates/main/dashboard.html.j2 b/app/templates/main/dashboard.html.j2
index 0d15651763e1eb99d39cd50cf792a1c1adf9af13..ec03609d0c41a56020d0c0a134793512a8cfd255 100644
--- a/app/templates/main/dashboard.html.j2
+++ b/app/templates/main/dashboard.html.j2
@@ -6,27 +6,18 @@
   <div class="row">
     <div class="col s12">
       <h1 id="title">{{ title }}</h1>
+    </div>
 
-      <h3>My Corpora and Query results</h3>
-      <p>Create a corpus to interactively perform linguistic analysis or import query results to save interesting passages.</p>
-
-      <div class="row">
-        <div class="col s12">
-          <ul class="tabs">
-            <li class="tab col s6"><a class="active" href="#corpora">Corpora</a></li>
-            <li class="tab col s6 disabled"><a href="#query-results">Query results</a></li>
-          </ul>
+    <div class="col s12" id="corpora">
+      <h3>My Corpora</h3>
+      <p>Create a corpus to interactively perform linguistic analysis.</p>
+      <div class="card">
+        <div class="card-content">
+          <div class="corpus-list" data-user-id="{{ current_user.hashid }}"></div>
         </div>
-        <div class="col s12" id="corpora">
-          <div class="card">
-            <div class="card-content">
-              <div class="corpus-list" data-user-id="{{ current_user.hashid }}"></div>
-            </div>
-            <div class="card-action right-align">
-              <a class="btn disabled waves-effect waves-light" href="{{ url_for('corpora.import_corpus') }}">Import Corpus<i class="material-icons right">import_export</i></a>
-              <a class="btn waves-effect waves-light" href="{{ url_for('corpora.create_corpus') }}">Create corpus<i class="material-icons right">add</i></a>
-            </div>
-          </div>
+        <div class="card-action right-align">
+          <a class="btn disabled waves-effect waves-light" href="{{ url_for('corpora.import_corpus') }}">Import Corpus<i class="material-icons right">import_export</i></a>
+          <a class="btn waves-effect waves-light" href="{{ url_for('corpora.create_corpus') }}">Create corpus<i class="material-icons right">add</i></a>
         </div>
       </div>
     </div>
diff --git a/app/templates/services/spacy_nlp_pipeline.html.j2 b/app/templates/services/spacy_nlp_pipeline.html.j2
index 5ad1e97a9806223fbc55e55e711e893d740aa79d..219ac025b076eedf0b7d09c4ee651f966b3839f5 100644
--- a/app/templates/services/spacy_nlp_pipeline.html.j2
+++ b/app/templates/services/spacy_nlp_pipeline.html.j2
@@ -77,7 +77,7 @@
                   {{ form.model.label }}
                   <span class="helper-text">
                     <a class="modal-trigger tooltipped" href="#models-modal" data-position="bottom" data-tooltip="See more information about models"><i class="material-icons" style="color:#0064A3;">help_outline</i></a>
-                    <a class="tooltipped" href="{{ url_for('contributions.add_spacy_nlp_pipeline_model') }}" data-position="bottom" data-tooltip="Add your own spaCy NLP models"><i class="material-icons" style="color:#0064A3">new_label</i></a>
+                    <a class="tooltipped" href="{{ url_for('contributions.create_spacy_nlp_pipeline_model') }}" data-position="bottom" data-tooltip="Add your own spaCy NLP models"><i class="material-icons" style="color:#0064A3">new_label</i></a>
                   </span>
                 </div>
               </div>
diff --git a/app/templates/services/tesseract_ocr_pipeline.html.j2 b/app/templates/services/tesseract_ocr_pipeline.html.j2
index 29ff60e8b1079c4b2576d4c13bb6bdcf91e0ba5e..9114b729e2635574ed0e65cc09257179210395e2 100644
--- a/app/templates/services/tesseract_ocr_pipeline.html.j2
+++ b/app/templates/services/tesseract_ocr_pipeline.html.j2
@@ -59,7 +59,7 @@
                   {{ form.model.label }}
                   <span class="helper-text">
                     <a class="modal-trigger tooltipped" href="#models-modal" data-position="bottom" data-tooltip="See more information about models"><i class="material-icons" style="color:#00A58B;">help_outline</i></a>
-                    <a class="tooltipped" href="{{ url_for('contributions.add_tesseract_ocr_pipeline_model') }}" data-position="bottom" data-tooltip="Add your own Tesseract OCR models"><i class="material-icons" style="color:#00A58B">new_label</i></a>
+                    <a class="tooltipped" href="{{ url_for('contributions.create_tesseract_ocr_pipeline_model') }}" data-position="bottom" data-tooltip="Add your own Tesseract OCR models"><i class="material-icons" style="color:#00A58B">new_label</i></a>
                   </span>
                   {% for error in form.model.errors %}
                   <span class="helper-text error-color-text">{{ error }}</span>