diff --git a/atdb/atdb/static/taskdatabase/style.css b/atdb/atdb/static/taskdatabase/style.css
index b8cd66eb0f20cc2334faf2e99bb7a853f4c23499..37d988b1e6c50054db44b60a3216a3b10a530bb9 100644
--- a/atdb/atdb/static/taskdatabase/style.css
+++ b/atdb/atdb/static/taskdatabase/style.css
@@ -118,4 +118,8 @@ p.title {
 
 .modal-content {
     overflow: scroll !important;
+}
+
+.form-flex {
+    display: flex;
 }
\ No newline at end of file
diff --git a/atdb/taskdatabase/forms.py b/atdb/taskdatabase/forms.py
index 8df61fe653fbda58e10c943611c6ca5f817c7976..c6c3ec4eda3308820bb9627564f16b492443bef8 100644
--- a/atdb/taskdatabase/forms.py
+++ b/atdb/taskdatabase/forms.py
@@ -1,10 +1,9 @@
 from django import forms
-STATUS_CHOICES = [('defined','defined'),
-                  ('scheduled','scheduled'),
-                  ('running','running'),
-                  ('removed','removed'),
-                  ('error','error')
-                ]
 
-class FilterForm(forms.Form):
-     status = forms.MultipleChoiceField(required=True, widget=forms.CheckboxSelectMultiple, choices=STATUS_CHOICES)
+class QualityAnnotationForm(forms.Form):
+      annotation = forms.CharField(label='',
+                                   widget=forms.Textarea(
+                                         attrs={'rows': 12,'cols': 85}
+                                   ),
+                                   max_length=1000)
+      return_to_page = forms.IntegerField(widget=forms.HiddenInput)
diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py
index 88e892afc80f2f05cb1376f8ef6484a2a2a1dc2a..6d78b2b92dff08a1f6d37b42fa2edfe8e3912a05 100644
--- a/atdb/taskdatabase/models.py
+++ b/atdb/taskdatabase/models.py
@@ -25,10 +25,7 @@ def convert_quality_to_list_for_template(task):
         list.append(str(task.quality_json['uv-coverage']))
         list.append(str(task.quality_json['sensitivity']))
         list.append(str(task.quality_json['observing-conditions']))
-        list.append("-")
-        list.append("-")
-        list.append("-")
-        list.append("-")
+        #list.append("-")
 
     except Exception as err:
         pass
@@ -109,6 +106,7 @@ class Task(models.Model):
             quality = self.outputs['quality']
             return True
         except:
+            return False
             try:
                 quality = self.outputs[0]['quality']
                 return True
@@ -121,11 +119,19 @@ class Task(models.Model):
         try:
             return self.outputs['quality']
         except:
+            return None
             try:
                 return self.outputs[0]['quality']
             except:
                 return None
 
+    @property
+    def get_quality_remarks(self):
+        try:
+            return self.remarks['quality']
+        except:
+            return None
+
     @property
     def quality_as_list(self):
         try:
diff --git a/atdb/taskdatabase/serializers.py b/atdb/taskdatabase/serializers.py
index 45bbd2823f400d25956676c681fc5fbaff4b5e61..a260c1d888ef2cffa1114cd55d1f8d71efae3a49 100644
--- a/atdb/taskdatabase/serializers.py
+++ b/atdb/taskdatabase/serializers.py
@@ -98,7 +98,7 @@ class TaskReadSerializer(serializers.ModelSerializer):
                   'workflow',
                   'stage_request_id',
                   'status','new_status','quality',
-                  'inputs','outputs','metrics','status_history',
+                  'inputs','outputs','metrics','remarks','status_history',
                   'size_to_process', 'size_processed', 'total_processing_time',
                   'log_entries','meta_scheduling','environment'
                   ]
diff --git a/atdb/taskdatabase/services/algorithms.py b/atdb/taskdatabase/services/algorithms.py
index 958cb43db886d35571ff52b4efe8072a6907e662..69b58e5014466e92d5e186848d4eda41661d27e0 100644
--- a/atdb/taskdatabase/services/algorithms.py
+++ b/atdb/taskdatabase/services/algorithms.py
@@ -138,9 +138,9 @@ def convert_quality_to_html(task):
             pass
 
         results += "<tr><td><b>QA diagnostic plots</b></td><td>" + "-" + "</td></tr>"
-        results += "<tr><td><b>Workflow summary parset</b></td><td>" + "-" + "</td></tr>"
-        results += "<tr><td><b>Summary logs</b></td><td>" + "-" + "</td></tr>"
-        results += "<tr><td><b>QA summary.hf5</b></td><td>" + "-" + "</td></tr>"
+        #results += "<tr><td><b>Workflow summary parset</b></td><td>" + "-" + "</td></tr>"
+        #results += "<tr><td><b>Summary logs</b></td><td>" + "-" + "</td></tr>"
+        #results += "<tr><td><b>QA summary.hf5</b></td><td>" + "-" + "</td></tr>"
 
     except Exception as err:
         results = "<tr><td>" + str(err) + "</td></tr>"
diff --git a/atdb/taskdatabase/static/taskdatabase/style.css b/atdb/taskdatabase/static/taskdatabase/style.css
index b8cd66eb0f20cc2334faf2e99bb7a853f4c23499..37d988b1e6c50054db44b60a3216a3b10a530bb9 100644
--- a/atdb/taskdatabase/static/taskdatabase/style.css
+++ b/atdb/taskdatabase/static/taskdatabase/style.css
@@ -118,4 +118,8 @@ p.title {
 
 .modal-content {
     overflow: scroll !important;
+}
+
+.form-flex {
+    display: flex;
 }
\ No newline at end of file
diff --git a/atdb/taskdatabase/tables.py b/atdb/taskdatabase/tables.py
index a3fed15a22f4b0d647d9ec73f555677a52952b51..94769e0ac7d3bc7e51d03c7aff473ee657cfe1e9 100644
--- a/atdb/taskdatabase/tables.py
+++ b/atdb/taskdatabase/tables.py
@@ -32,10 +32,10 @@ class TaskTable(tables.Table):
     #resume = ResumeColumn()
 
     actions = tables.TemplateColumn(verbose_name='Details',
-                                    template_name='query/action_buttons_per_row.html',
+                                    template_name='taskdatabase/query/action_buttons_per_row.html',
                                     orderable=False)  # orderable not sortable
 
     buttons = tables.TemplateColumn(verbose_name='Set Status',
-                                    template_name='query/status_buttons_per_row.html',
+                                    template_name='taskdatabase/query/status_buttons_per_row.html',
                                     orderable=False)  # orderable not sortable
 
diff --git a/atdb/taskdatabase/templates/query/status_buttons_per_row.html b/atdb/taskdatabase/templates/query/status_buttons_per_row.html
deleted file mode 100644
index 72f2e697972bf3ef43bf1715f3de3a48eed023ca..0000000000000000000000000000000000000000
--- a/atdb/taskdatabase/templates/query/status_buttons_per_row.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-{% if user.is_staff %}
- <a href="{% url 'task-setstatus' record.pk 'defined' request.GET %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> defined</a>
- <a href="{% url 'task-setstatus' record.pk 'staged' request.GET %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> staged</a>&nbsp;
- <a href="{% url 'task-setstatus' record.pk 'fetched' request.GET %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> fetched</a>&nbsp;
- <a href="{% url 'task-setstatus' record.pk 'processed' request.GET %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> processed</a>
- <a href="{% url 'task-setstatus' record.pk 'stored' request.GET %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> stored</a>&nbsp;&nbsp;
- <a href="{% url 'task-setstatus' record.pk 'validated' request.GET %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> validated</a>&nbsp;
- <a href="{% url 'task-setstatus' record.pk 'scrubbed' request.GET %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> scrubbed</a>&nbsp;
- <a href="{% url 'task-setstatus' record.pk 'archived' request.GET %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> archived</a>
- <a href="{% url 'task-setstatus' record.pk 'finished' request.GET %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> finished</a>
-
-{% endif %}
diff --git a/atdb/taskdatabase/templates/dashboard/dashboard.html b/atdb/taskdatabase/templates/taskdatabase/dashboard/dashboard.html
similarity index 87%
rename from atdb/taskdatabase/templates/dashboard/dashboard.html
rename to atdb/taskdatabase/templates/taskdatabase/dashboard/dashboard.html
index db35bb3c566dc7d111bb7b88eca4a7fee7205ddf..e6f1394b7516cc213c3f95d097312a9a97bd1c6b 100644
--- a/atdb/taskdatabase/templates/dashboard/dashboard.html
+++ b/atdb/taskdatabase/templates/taskdatabase/dashboard/dashboard.html
@@ -13,7 +13,7 @@
                       <h4>Dashboard</h4>
                     </div>
                     <div class="col-4">
-                        {% include "dashboard/toggles.html" %}
+                        {% include "taskdatabase/dashboard/toggles.html" %}
                     </div>
                 </div>
            </div>
@@ -33,6 +33,6 @@
 
 {% include "taskdatabase/modal/modal_script.html" %}
 {% include "taskdatabase/modal/modal.html" %}
-{% include 'taskdatabase/localstorage_scripts.html' %}
+{% include 'taskdatabase/refresh.html' %}
 
 {% endblock %}
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/dashboard/toggles.html b/atdb/taskdatabase/templates/taskdatabase/dashboard/toggles.html
similarity index 100%
rename from atdb/taskdatabase/templates/dashboard/toggles.html
rename to atdb/taskdatabase/templates/taskdatabase/dashboard/toggles.html
diff --git a/atdb/taskdatabase/templates/taskdatabase/failures/failures_page.html b/atdb/taskdatabase/templates/taskdatabase/failures/failures_page.html
index fa53f4e8248850abeba9a28b0a2ae0f1c5e0ce49..15d5493c8beb43cd12c41dc111fbe39298682160 100644
--- a/atdb/taskdatabase/templates/taskdatabase/failures/failures_page.html
+++ b/atdb/taskdatabase/templates/taskdatabase/failures/failures_page.html
@@ -45,7 +45,7 @@
       </div>
 </div>
 
-{% include 'taskdatabase/localstorage_scripts.html' %}
+{% include 'taskdatabase/no_refresh.html' %}
 
 
 {% endblock %}
diff --git a/atdb/taskdatabase/templates/taskdatabase/failures/retry_buttons.html b/atdb/taskdatabase/templates/taskdatabase/failures/retry_buttons.html
new file mode 100644
index 0000000000000000000000000000000000000000..3a82fed5947d0a236d4da144c004456085656b09
--- /dev/null
+++ b/atdb/taskdatabase/templates/taskdatabase/failures/retry_buttons.html
@@ -0,0 +1,18 @@
+            {% if task.status == "staged_failed" or task.status == "staging_failed" %}
+                    <a href="{% url 'task-retry-view' task.pk 'defined' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+            {% endif %}
+            {% if task.status == "fetched_failed" or task.status == "fetching_failed" %}
+                    <a href="{% url 'task-retry-view' task.pk 'staged' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+             {% endif %}
+            {% if task.status == "processed_failed" or task.status == "processing_failed" %}
+                    <a href="{% url 'task-retry-view' task.pk 'fetched' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+            {% endif %}
+            {% if task.status == "stored_failed" or task.status == "storing_failed" %}
+                    <a href="{% url 'task-retry-view' task.pk 'processed' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+            {% endif %}
+            {% if task.status == "scrubbed_failed" or task.status == "scrubbing_failed" %}
+                    <a href="{% url 'task-retry-view' task.pk 'validated' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+            {% endif %}
+            {% if task.status == "archived_failed" or task.status == "archiving_failed" %}
+                    <a href="{% url 'task-retry-view' task.pk 'scrubbed' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
+            {% endif %}
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures.html b/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures.html
index 817f4405af2f60f30e83df0771cb2bc80a95fe1f..51bd7cabba1fc72a5ae5fea04e123f93f51f29f8 100644
--- a/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures.html
+++ b/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures.html
@@ -37,37 +37,8 @@
 
                 <td>{{ task.filter }} </td>
 
-                {% if task.status == "staged_failed" or task.status == "staging_failed" %}
-                    <td>
-                        <a href="{% url 'task-retry-view' task.pk 'defined' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
-                    </td>
-                {% endif %}
-                {% if task.status == "fetched_failed" or task.status == "fetching_failed" %}
-                    <td>
-                        <a href="{% url 'task-retry-view' task.pk 'staged' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
-                    </td>
-                 {% endif %}
-                {% if task.status == "processed_failed" or task.status == "processing_failed" %}
-                    <td>
-                        <a href="{% url 'task-retry-view' task.pk 'fetched' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
-                    </td>
-                {% endif %}
-                {% if task.status == "stored_failed" or task.status == "storing_failed" %}
-                    <td>
-                        <a href="{% url 'task-retry-view' task.pk 'processed' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
-                    </td>
-                {% endif %}
-                {% if task.status == "scrubbed_failed" or task.status == "scrubbing_failed" %}
-                    <td>
-                        <a href="{% url 'task-retry-view' task.pk 'validated' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
-                    </td>
-                {% endif %}
-                {% if task.status == "archived_failed" or task.status == "archiving_failed" %}
-                    <td>
-                        <a href="{% url 'task-retry-view' task.pk 'scrubbed' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><b><i class="fas fa-sync-alt"></i> Retry</b></a>
-                    </td>
-                {% endif %}
-                <td>
+
+                <td>{% include "taskdatabase/failures/retry_buttons.html" %}</td>
 
                 </tr>
             </div>
diff --git a/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures_headers.html b/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures_headers.html
index 5bf48b688419c58da166d4d53495647c43c4726c..4e06b0e06dd4f0b43c8e3485b18c62b33f679a8a 100644
--- a/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures_headers.html
+++ b/atdb/taskdatabase/templates/taskdatabase/failures/tasks_failures_headers.html
@@ -1,10 +1,29 @@
 <tr>
-    <th>ID</th>
+    <th>
+        <a href="{% url 'sort-tasks' '-pk' 'failures' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        ID
+        <a href="{% url 'sort-tasks' 'id' 'failures' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
     <th>Details</th>
-
-    <th>Status</th>
-    <th>Project</th>
-    <th>SAS_ID</th>
-    <th>filter</th>
+     <th>
+        <a href="{% url 'sort-tasks' '-status' 'failures' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        Status
+        <a href="{% url 'sort-tasks' 'status' 'failures' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
+    <th>
+        <a href="{% url 'sort-tasks' '-project' 'failures' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        Project
+        <a href="{% url 'sort-tasks' 'project' 'failures' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
+    <th>
+        <a href="{% url 'sort-tasks' '-sas_id' 'failures' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        SAS_ID
+        <a href="{% url 'sort-tasks' 'sas_id' 'failures' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
+    <th>
+        <a href="{% url 'sort-tasks' '-filter' 'failures' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        Filter
+        <a href="{% url 'sort-tasks' 'filter' 'failures' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
     <th>Actions</th>
 </tr>
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/taskdatabase/filter/clear_filter_button.html b/atdb/taskdatabase/templates/taskdatabase/filter/clear_filter_button.html
index 3f103a32e3666bab3fa9eeb6ea0cf909298051f3..bcbe5e9e891f810fd3105f9ac01d4cde2fc9cb43 100644
--- a/atdb/taskdatabase/templates/taskdatabase/filter/clear_filter_button.html
+++ b/atdb/taskdatabase/templates/taskdatabase/filter/clear_filter_button.html
@@ -1 +1 @@
-<a href="{% url 'clear-filter' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-window-close"></i> Clear Filter</a>
+<a href="{% url 'clear-filter' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-window-close"></i> Clear Filter</a>
diff --git a/atdb/taskdatabase/templates/taskdatabase/filter/filter_buttons.html b/atdb/taskdatabase/templates/taskdatabase/filter/filter_buttons.html
index cd5dcca5b893cf809a32256abc77da0d8e395298..0c20c6763060d10f62aa6155a090c639519b66d7 100644
--- a/atdb/taskdatabase/templates/taskdatabase/filter/filter_buttons.html
+++ b/atdb/taskdatabase/templates/taskdatabase/filter/filter_buttons.html
@@ -7,27 +7,25 @@
              <tr>
                <td>
                    {% include "taskdatabase/filter/clear_filter_button.html" %}
-                <a href="{% url 'task-set-active-filter' %}" class="btn btn-success btn-sm" role="button"><i class="fas fa-layer-group"></i> Active</a>
-                <a href="{% url 'task-set-filter' 'failed' %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-layer-group"></i> Failed</a>
-                 <a href="{% url 'task-set-onhold-filter' True %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-layer-group"></i> On Hold</a>
-             <!--  &nbsp;&nbsp;
-                <a href="{% url 'task-set-filter' 'defining' %}" class="btn btn-secondary btn-sm" role="button">defining</a>
-             -->
-                <a href="{% url 'task-set-filter' 'defined' %}" class="btn btn-primary btn-sm" role="button">defined</a>
-                <a href="{% url 'task-set-filter' 'staging' %}" class="btn btn-secondary btn-sm" role="button">staging</a>
-                <a href="{% url 'task-set-filter' 'staged' %}" class="btn btn-primary btn-sm" role="button">staged</a>
-                <a href="{% url 'task-set-filter' 'fetching' %}" class="btn btn-secondary btn-sm" role="button">fetching</a>
-                <a href="{% url 'task-set-filter' 'fetched' %}" class="btn btn-primary btn-sm" role="button">fetched</a>
-                <a href="{% url 'task-set-filter' 'processing' %}" class="btn btn-secondary btn-sm" role="button">processing</a>
-                <a href="{% url 'task-set-filter' 'processed' %}" class="btn btn-primary btn-sm" role="button">processed</a>
-                <a href="{% url 'task-set-filter' 'storing' %}" class="btn btn-secondary btn-sm" role="button">storing</a>
-                <a href="{% url 'task-set-filter' 'stored' %}" class="btn btn-success btn-sm" role="button">stored</a>
-                <a href="{% url 'task-set-filter' 'validated' %}" class="btn btn-primary btn-sm" role="button">validated</a>
-                <a href="{% url 'task-set-filter' 'scrubbing' %}" class="btn btn-secondary btn-sm" role="button">scrubbing</a>
-                <a href="{% url 'task-set-filter' 'scrubbed' %}" class="btn btn-primary btn-sm" role="button">scrubbed</a>
-                <a href="{% url 'task-set-filter' 'archiving' %}" class="btn btn-secondary btn-sm" role="button">archiving</a>
-                <a href="{% url 'task-set-filter' 'archived' %}" class="btn btn-primary btn-sm" role="button">archived</a>
-                <a href="{% url 'task-set-filter' 'finished' %}" class="btn btn-primary btn-sm" role="button">finished</a>
+                <a href="{% url 'task-set-active-filter' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-layer-group"></i> Active</a>
+                <a href="{% url 'task-set-filter' 'failed' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-layer-group"></i> Failed</a>
+                 <a href="{% url 'task-set-onhold-filter' True %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-layer-group"></i> On Hold</a>
+
+                <a href="{% url 'task-set-filter' 'defined' %}" class="btn btn-secondary btn-sm" role="button">defined</a>
+                <a href="{% url 'task-set-filter' 'staging' %}" class="btn btn-secondary btn-sm" role="button"><i>staging</i></a>
+                <a href="{% url 'task-set-filter' 'staged' %}" class="btn btn-secondary btn-sm" role="button">staged</a>
+                <a href="{% url 'task-set-filter' 'fetching' %}" class="btn btn-secondary btn-sm" role="button"><i>fetching</i></a>
+                <a href="{% url 'task-set-filter' 'fetched' %}" class="btn btn-secondary btn-sm" role="button">fetched</a>
+                <a href="{% url 'task-set-filter' 'processing' %}" class="btn btn-secondary btn-sm" role="button"><i>processing</i></a>
+                <a href="{% url 'task-set-filter' 'processed' %}" class="btn btn-secondary btn-sm" role="button">processed</a>
+                <a href="{% url 'task-set-filter' 'storing' %}" class="btn btn-secondary btn-sm" role="button"><i>storing</i></a>
+                <a href="{% url 'task-set-filter' 'stored' %}" class="btn btn-secondary btn-sm" role="button">stored</a>
+                <a href="{% url 'task-set-filter' 'validated' %}" class="btn btn-secondary btn-sm" role="button">validated</a>
+                <a href="{% url 'task-set-filter' 'scrubbing' %}" class="btn btn-secondary btn-sm" role="button"><i>scrubbing</i></a>
+                <a href="{% url 'task-set-filter' 'scrubbed' %}" class="btn btn-secondary btn-sm" role="button">scrubbed</a>
+                <a href="{% url 'task-set-filter' 'archiving' %}" class="btn btn-secondary btn-sm" role="button"><i>archiving</i></a>
+                <a href="{% url 'task-set-filter' 'archived' %}" class="btn btn-secondary btn-sm" role="button">archived</a>
+                <a href="{% url 'task-set-filter' 'finished' %}" class="btn btn-secondary btn-sm" role="button">finished</a>
 
                </td>
                  <td>
diff --git a/atdb/taskdatabase/templates/taskdatabase/filter/filter_xxx.html b/atdb/taskdatabase/templates/taskdatabase/filter/filter_xxx.html
deleted file mode 100644
index 891cdf93906dc5916dd5ceb3a665b170b9cdfd9b..0000000000000000000000000000000000000000
--- a/atdb/taskdatabase/templates/taskdatabase/filter/filter_xxx.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<form action="/atdb/filter" method="get">
-    {{ my_form }}
-    <input type="submit" value="Filter">
-</form>
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/taskdatabase/filter/search.html b/atdb/taskdatabase/templates/taskdatabase/filter/search.html
index 5ad2d5a56518ac9fc1bbffee7041fd9bf00ffa4f..86f8a87defd33185a262c8933347a4f6f7151d55 100644
--- a/atdb/taskdatabase/templates/taskdatabase/filter/search.html
+++ b/atdb/taskdatabase/templates/taskdatabase/filter/search.html
@@ -1,4 +1,3 @@
-<!-- note the rerouting to '/query', which is captured by urls.py -->
 
 <form class="navbar-form navbar-left" role="Search" onsubmit="writeToLocalStorage('search_box')" method="get" action="">
     <div class="form-group">
diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html
index fdbdeee83358306f4093137a8a09e74e7305d096..c6aab8e246ae48332c528e5b278316f936f35ebc 100644
--- a/atdb/taskdatabase/templates/taskdatabase/index.html
+++ b/atdb/taskdatabase/templates/taskdatabase/index.html
@@ -34,11 +34,11 @@
         {% include 'taskdatabase/pagination.html' %}
        </div>
     </div>
-    <p class="footer"> Version 1.0.0 (2 apr 2021 - 6:00)
+    <p class="footer"> Version 1.0.0 (8 apr 2021 - 14:00)
 
 </div>
 
-{% include 'taskdatabase/localstorage_scripts.html' %}
+{% include 'taskdatabase/refresh.html' %}
 
 {% endblock %}
 
diff --git a/atdb/taskdatabase/templates/taskdatabase/modal/modal_no_close.html b/atdb/taskdatabase/templates/taskdatabase/modal/modal_no_close.html
new file mode 100644
index 0000000000000000000000000000000000000000..e153f3a89d91a2477b871effb5c390233d98fe82
--- /dev/null
+++ b/atdb/taskdatabase/templates/taskdatabase/modal/modal_no_close.html
@@ -0,0 +1,8 @@
+
+<div id="popup" class="modal fade" role="dialog">
+  <div class="modal-dialog modal-lg">
+    <div class="modal-content">
+      <div class="modal-body"></div>
+    </div>
+  </div>
+</div>
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/taskdatabase/modal/modal_script.html b/atdb/taskdatabase/templates/taskdatabase/modal/modal_script.html
index 1c0d5006e22de81d0a943b69510fbf8ba88c4a63..52cff4d42b8d10e61a4b4e05e3d8090da4492426 100644
--- a/atdb/taskdatabase/templates/taskdatabase/modal/modal_script.html
+++ b/atdb/taskdatabase/templates/taskdatabase/modal/modal_script.html
@@ -8,4 +8,4 @@
       $popup.modal("show");
     });
   });
-</script>
\ No newline at end of file
+</script>
diff --git a/atdb/taskdatabase/templates/taskdatabase/monitoring_page.html b/atdb/taskdatabase/templates/taskdatabase/monitoring_page.html
index 6da4454a4bd42cee537b8fad34682ccca7f68961..98a438e6b996fd37c8e0544531cdf8bc961399fd 100644
--- a/atdb/taskdatabase/templates/taskdatabase/monitoring_page.html
+++ b/atdb/taskdatabase/templates/taskdatabase/monitoring_page.html
@@ -37,6 +37,6 @@
         </div>
 
 </div>
-{% include 'taskdatabase/localstorage_scripts.html' %}
+{% include 'taskdatabase/refresh.html' %}
 {% endblock %}
 
diff --git a/atdb/taskdatabase/templates/taskdatabase/no_refresh.html b/atdb/taskdatabase/templates/taskdatabase/no_refresh.html
new file mode 100644
index 0000000000000000000000000000000000000000..3d99cd33d73204f3c7cdb0acff96aa49d084d58d
--- /dev/null
+++ b/atdb/taskdatabase/templates/taskdatabase/no_refresh.html
@@ -0,0 +1,16 @@
+
+<script type="text/javascript">
+    function readFromLocalStorage(id) {
+      var s = localStorage.getItem(id);
+      if (s !== null) {
+        document.getElementById(id).value = s;
+      }
+    }
+</script>
+
+<script type="text/javascript">
+function writeToLocalStorage(id) {
+    var s = document.getElementById(id).value
+    localStorage.setItem(id, s);
+}
+</script>
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/taskdatabase/postprocessing.html b/atdb/taskdatabase/templates/taskdatabase/postprocessing.html
index 276050d311900953d1aa60ba736094572b4ce31a..7d22fe92b13763e5f83e9a74be53adffad701bf0 100644
--- a/atdb/taskdatabase/templates/taskdatabase/postprocessing.html
+++ b/atdb/taskdatabase/templates/taskdatabase/postprocessing.html
@@ -84,7 +84,7 @@
 
 </div>
 
-{% include 'taskdatabase/localstorage_scripts.html' %}
+{% include 'taskdatabase/refresh.html' %}
 
 
 {% endblock %}
diff --git a/atdb/taskdatabase/templates/taskdatabase/quality/quality_page.html b/atdb/taskdatabase/templates/taskdatabase/quality/quality_page.html
index 6d3b8881cef4dc1a1a301f1dd9ad9e1609b3543c..01c9c4c745b45dc14407811aa7655a6fed2972f6 100644
--- a/atdb/taskdatabase/templates/taskdatabase/quality/quality_page.html
+++ b/atdb/taskdatabase/templates/taskdatabase/quality/quality_page.html
@@ -7,10 +7,11 @@
       <div class="card">
        <div class="card-body">
         <div class="row">
-            <div class="col-8">
+            <div class="col-12">
                 <h3>Quality Diagnostics</h3>
                 This overview shows the Quality Diagnostics of all the task that have this information.
                 <hr>
+                {% include 'taskdatabase/filter/filter_buttons.html' %}&nbsp;
             </div>
         </div>
         <div class="row">
@@ -43,7 +44,7 @@
       </div>
 </div>
 
-{% include 'taskdatabase/localstorage_scripts.html' %}
+{% include 'taskdatabase/no_refresh.html' %}
 
 
 {% endblock %}
diff --git a/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality.html b/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality.html
index 77cf0330ef08c95c1fad10b231f5fade70674f5b..cd46879c0006006c3276ceac1b53eba160d90c58 100644
--- a/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality.html
+++ b/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality.html
@@ -38,13 +38,33 @@
                 <td>{{ task.filter }} </td>
 
                 {% if task.has_quality %}
-                {% for value in task.quality_as_list %}
-                    <td>{{value}}</td>
-                 {% endfor %}
+                    {% for value in task.quality_as_list %}
+                        <td>{{value}}</td>
+                     {% endfor %}
+                    <td>
+                      <a href=""
+                       class="btn btn-primary btn-sm" role="button" target="_blank"><img src="{% static 'taskdatabase/surfsara.jpg' %}"  height="20" alt="this is a placeholder, links to plots will follow"></a>&nbsp;
+                    </td>
+                {% else %}
+                        <td>-</td><td>-</td><td>-</td><td>-</td>
                 {% endif %}
 
-
                 <td>
+                    {% if task.get_quality_remarks %}
+                        <a class="open-modal btn btn-warning btn-sm"
+                               href="{% url 'annotate-quality' task.id my_tasks.number %}"
+                               data-popup-url="{% url 'annotate-quality' task.id my_tasks.number %}">
+                            <i class="fas fa-pen-alt"></i>
+                        </a>&nbsp;
+                    {% else %}
+                        <a class="open-modal btn btn-secondary btn-sm"
+                               href="{% url 'annotate-quality' task.id my_tasks.number %}"
+                               data-popup-url="{% url 'annotate-quality' task.id my_tasks.number %}">
+                            <i class="fas fa-pen-alt"></i>
+                        </a>&nbsp;
+                    {% endif %}
+                </td>
+                <td>{{ task.quality|default_if_none:"-" }}</td>
 
                 </tr>
             </div>
diff --git a/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality_headers.html b/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality_headers.html
index cd699a598401ff3848aa79ade6099795e5574dc3..dfbaafffa00569caa3939019e38222b688f15b91 100644
--- a/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality_headers.html
+++ b/atdb/taskdatabase/templates/taskdatabase/quality/tasks_quality_headers.html
@@ -1,16 +1,34 @@
 <tr>
-    <th>ID</th>
+    <th>
+        <a href="{% url 'sort-tasks' '-pk' 'quality' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        ID
+        <a href="{% url 'sort-tasks' 'id' 'quality' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
     <th>Details</th>
-
-    <th>Status</th>
-    <th>Project</th>
-    <th>SAS_ID</th>
-    <th>filter</th>
+    <th>
+        <a href="{% url 'sort-tasks' '-status' 'quality' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        Status
+        <a href="{% url 'sort-tasks' 'status' 'quality' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
+    <th>
+        <a href="{% url 'sort-tasks' '-project' 'quality' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        Project
+        <a href="{% url 'sort-tasks' 'project' 'quality' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
+    <th>
+        <a href="{% url 'sort-tasks' '-sas_id' 'quality' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        SAS_ID
+        <a href="{% url 'sort-tasks' 'sas_id' 'quality' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
+    <th>
+        <a href="{% url 'sort-tasks' '-filter' 'quality' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        Filter
+        <a href="{% url 'sort-tasks' 'filter' 'quality' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
     <th>uv-coverage</th>
     <th>Sensitivity</th>
     <th>Conditions</th>
-    <th>Diagnostic plots</th>
-    <th>Summary parset</th>
-    <th>Summary logs</th>
-    <th>Summary hf5</th>
+    <th>Plots</th>
+    <th>Annotate</th>
+    <th>Quality</th>
 </tr>
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/query/action_buttons_per_row.html b/atdb/taskdatabase/templates/taskdatabase/query/action_buttons_per_row.html
similarity index 100%
rename from atdb/taskdatabase/templates/query/action_buttons_per_row.html
rename to atdb/taskdatabase/templates/taskdatabase/query/action_buttons_per_row.html
diff --git a/atdb/taskdatabase/templates/query/confirm_multi_change.html b/atdb/taskdatabase/templates/taskdatabase/query/confirm_multi_change.html
similarity index 100%
rename from atdb/taskdatabase/templates/query/confirm_multi_change.html
rename to atdb/taskdatabase/templates/taskdatabase/query/confirm_multi_change.html
diff --git a/atdb/taskdatabase/templates/query/index.html b/atdb/taskdatabase/templates/taskdatabase/query/index.html
similarity index 75%
rename from atdb/taskdatabase/templates/query/index.html
rename to atdb/taskdatabase/templates/taskdatabase/query/index.html
index a37ce6095dfdd596ec649d451389317df4c1c16a..de6aedab3d3926b07f06bf70007604ef3d2c6359 100644
--- a/atdb/taskdatabase/templates/query/index.html
+++ b/atdb/taskdatabase/templates/taskdatabase/query/index.html
@@ -14,13 +14,13 @@
     <div class="card">
         <form action="" method="get" class="form form-inline">
             {% bootstrap_form filter.form layout='inline' %}
-            &nbsp;<button type="submit" class="btn-success  btn-sm" title="Filter"><i class="fas fa-filter"></i> Filter</button>
+            &nbsp;<button type="submit" class="btn-secondary  btn-sm" title="Filter"><i class="fas fa-filter"></i> Filter</button>
             {% include "taskdatabase/filter/clear_filter_button.html" %}
          </form>
     </div>
     {% endif %}
 
-    {% include "query/set_multi_status_panel.html" %}
+    {% include "taskdatabase/query/set_multi_status_panel.html" %}
 
     {% render_table table 'django_tables2/bootstrap4.html' %}
 
diff --git a/atdb/taskdatabase/templates/query/query.html b/atdb/taskdatabase/templates/taskdatabase/query/query.html
similarity index 100%
rename from atdb/taskdatabase/templates/query/query.html
rename to atdb/taskdatabase/templates/taskdatabase/query/query.html
diff --git a/atdb/taskdatabase/templates/query/set_multi_status_panel.html b/atdb/taskdatabase/templates/taskdatabase/query/set_multi_status_panel.html
similarity index 79%
rename from atdb/taskdatabase/templates/query/set_multi_status_panel.html
rename to atdb/taskdatabase/templates/taskdatabase/query/set_multi_status_panel.html
index 2328da1a792cdc2525614ce06c3a190b5af6a88d..212fba09695287bc1661a4be59e507dbc47e2cfc 100644
--- a/atdb/taskdatabase/templates/query/set_multi_status_panel.html
+++ b/atdb/taskdatabase/templates/taskdatabase/query/set_multi_status_panel.html
@@ -10,11 +10,12 @@
                     <tr>
                      <a href="{% url 'task-multi-hold' 'hold' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-pause"></i> hold</a>&nbsp;
                      <a href="{% url 'task-multi-hold' 'resume' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-play"></i> start</a>&nbsp;
-
                      <a href="{% url 'task-multi-setstatus' 'defined' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> defined</a>&nbsp;
                      <a href="{% url 'task-multi-setstatus' 'staged' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> staged</a>&nbsp;
+                     <a href="{% url 'task-multi-setstatus' 'fetched' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> fetched</a>&nbsp;
                      <a href="{% url 'task-multi-setstatus' 'processed' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> processed</a>&nbsp;
-                     <a href="{% url 'task-multi-setstatus' 'validated' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> validated</a>&nbsp;
+                     <a href="{% url 'task-multi-setstatus' 'stored' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> stored</a>&nbsp;
+                     <a href="{% url 'task-multi-setstatus' 'validated' request.GET %}" class="btn btn-success btn-sm" role="button"><i class="fas fa-sync-alt"></i> validated</a>&nbsp;
                      <a href="{% url 'task-multi-setstatus' 'scrubbed' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> scrubbed</a>&nbsp;
                      <a href="{% url 'task-multi-setstatus' 'archived' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> archived</a>&nbsp;
                      <a href="{% url 'task-multi-setstatus' 'finished' request.GET %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> finished</a>&nbsp;
diff --git a/atdb/taskdatabase/templates/taskdatabase/query/status_buttons_per_row.html b/atdb/taskdatabase/templates/taskdatabase/query/status_buttons_per_row.html
new file mode 100644
index 0000000000000000000000000000000000000000..a5f3852760f997115badeaf9369dac51bec64c50
--- /dev/null
+++ b/atdb/taskdatabase/templates/taskdatabase/query/status_buttons_per_row.html
@@ -0,0 +1,14 @@
+
+
+{% if user.is_staff %}
+ <a href="{% url 'task-setstatus' record.pk 'defined' request.GET %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> defined</a>
+ <a href="{% url 'task-setstatus' record.pk 'staged' request.GET %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> staged</a>&nbsp;
+ <a href="{% url 'task-setstatus' record.pk 'fetched' request.GET %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> fetched</a>&nbsp;
+ <a href="{% url 'task-setstatus' record.pk 'processed' request.GET %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> processed</a>
+ <a href="{% url 'task-setstatus' record.pk 'stored' request.GET %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> stored</a>&nbsp;&nbsp;
+ <a href="{% url 'task-setstatus' record.pk 'validated' request.GET %}" class="btn btn-success btn-sm" role="button"><i class="fas fa-sync-alt"></i> validated</a>&nbsp;
+ <a href="{% url 'task-setstatus' record.pk 'scrubbed' request.GET %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> scrubbed</a>&nbsp;
+ <a href="{% url 'task-setstatus' record.pk 'archived' request.GET %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> archived</a>
+ <a href="{% url 'task-setstatus' record.pk 'finished' request.GET %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> finished</a>
+
+{% endif %}
diff --git a/atdb/taskdatabase/templates/taskdatabase/localstorage_scripts.html b/atdb/taskdatabase/templates/taskdatabase/refresh.html
similarity index 55%
rename from atdb/taskdatabase/templates/taskdatabase/localstorage_scripts.html
rename to atdb/taskdatabase/templates/taskdatabase/refresh.html
index a95e03d8cb656fc18a3b66803b65e798aedf3e57..f0a067e624f92f706c27cf62fdfb0dbea47972d6 100644
--- a/atdb/taskdatabase/templates/taskdatabase/localstorage_scripts.html
+++ b/atdb/taskdatabase/templates/taskdatabase/refresh.html
@@ -14,20 +14,3 @@
 
     }(30));
 </script>
-
-
-<script type="text/javascript">
-    function readFromLocalStorage(id) {
-      var s = localStorage.getItem(id);
-      if (s !== null) {
-        document.getElementById(id).value = s;
-      }
-    }
-</script>
-
-<script type="text/javascript">
-function writeToLocalStorage(id) {
-    var s = document.getElementById(id).value
-    localStorage.setItem(id, s);
-}
-</script>
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/taskdatabase/tasks.html b/atdb/taskdatabase/templates/taskdatabase/tasks.html
index a9486cfd7d50d78ae22ce5e91deeebc2dffbc109..6aacb705d5498377b213dfa4d2707d59e50be156 100644
--- a/atdb/taskdatabase/templates/taskdatabase/tasks.html
+++ b/atdb/taskdatabase/templates/taskdatabase/tasks.html
@@ -50,6 +50,7 @@
 
             <td>{{ task.project }}</td>
             <td>{{ task.sas_id }}</td>
+            <td>{{ task.filter }} </td>
 
             <td>{{ task.creationTime|date:"Y-m-d H:i:s" }} </td>
             <td>{{ task.size_to_process|filesizeformat }} </td>
@@ -71,9 +72,11 @@
                     <a href="{% url 'task-setstatus-view' task.pk 'validated' my_tasks.number %}" class="btn btn-success btn-sm" role="button"><i class="fas fa-check"></i> validate</a>
                 {% endif %}
             {% endif %}
-            </td>
 
-            </tr>
+            {% include "taskdatabase/failures/retry_buttons.html" %}
+
+            </td>
+           </tr>
         </div>
     {% endif %}
 {% endfor %}
diff --git a/atdb/taskdatabase/templates/taskdatabase/tasks/set_status_buttons.html b/atdb/taskdatabase/templates/taskdatabase/tasks/set_status_buttons.html
index 151f0117fd36690b2f633aef28310540a51ba0a8..b33c6262098380ddf27a7e850bf2a38249790f01 100644
--- a/atdb/taskdatabase/templates/taskdatabase/tasks/set_status_buttons.html
+++ b/atdb/taskdatabase/templates/taskdatabase/tasks/set_status_buttons.html
@@ -1,11 +1,11 @@
 <a href="{% url 'task-details-setstatus' task.pk 'defining' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-undo"></i> defining</a>&nbsp;
-<a href="{% url 'task-details-setstatus' task.pk 'defined' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> defined</a>&nbsp;
-<a href="{% url 'task-details-setstatus' task.pk 'staged' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> staged</a>&nbsp;
-<a href="{% url 'task-details-setstatus' task.pk 'fetched' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> fetched</a></td>&nbsp;
-<a href="{% url 'task-details-setstatus' task.pk 'processed' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> processed</a></td>&nbsp;
-<a href="{% url 'task-details-setstatus' task.pk 'stored' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> stored</a></td>&nbsp;
-<a href="{% url 'task-details-setstatus' task.pk 'validated' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> validated</a>&nbsp;
-<a href="{% url 'task-details-setstatus' task.pk 'scrubbed' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> scrubbed</a>&nbsp;
-<a href="{% url 'task-details-setstatus' task.pk 'archived' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> archived</a>&nbsp;
-<a href="{% url 'task-details-setstatus' task.pk 'finished' %}" class="btn btn-secondary btn-sm" role="button"><i class="fas fa-sync-alt"></i> finished</a>&nbsp;
-<a href="{% url 'task-details-setstatus' task.pk 'failed (manual)' %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-sync-alt"></i> failed (manual)</a>&nbsp;
+<a href="{% url 'task-details-setstatus' task.pk 'defined' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> defined</a>&nbsp;
+<a href="{% url 'task-details-setstatus' task.pk 'staged' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> staged</a>&nbsp;
+<a href="{% url 'task-details-setstatus' task.pk 'fetched' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> fetched</a></td>&nbsp;
+<a href="{% url 'task-details-setstatus' task.pk 'processed' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> processed</a></td>&nbsp;
+<a href="{% url 'task-details-setstatus' task.pk 'stored' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> stored</a></td>&nbsp;
+<a href="{% url 'task-details-setstatus' task.pk 'validated' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> validated</a>&nbsp;
+<a href="{% url 'task-details-setstatus' task.pk 'scrubbed' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> scrubbed</a>&nbsp;
+<a href="{% url 'task-details-setstatus' task.pk 'archived' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> archived</a>&nbsp;
+<a href="{% url 'task-details-setstatus' task.pk 'finished' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> finished</a>&nbsp;
+<a href="{% url 'task-details-setstatus' task.pk 'failed (manual)' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-sync-alt"></i> failed (manual)</a>&nbsp;
diff --git a/atdb/taskdatabase/templates/taskdatabase/tasks_headers.html b/atdb/taskdatabase/templates/taskdatabase/tasks_headers.html
index d2250230ad212678dc17515a20188904fb4a11ae..638e9c8f637421ae56f2f2705a24b33da98ec439 100644
--- a/atdb/taskdatabase/templates/taskdatabase/tasks_headers.html
+++ b/atdb/taskdatabase/templates/taskdatabase/tasks_headers.html
@@ -31,6 +31,11 @@
         SAS_ID
         <a href="{% url 'sort-tasks' 'sas_id' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
     </th>
+    <th>
+        <a href="{% url 'sort-tasks' '-filter' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
+        Filter
+        <a href="{% url 'sort-tasks' 'filter' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-down"></i></a>
+    </th>
     <th>
         <a href="{% url 'sort-tasks' '-creationTime' 'atdb' %}" class="btn btn-light btn-sm" role="button"><i class="fas fa-sort-up"></i></a>
         CreationTime
diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/annotate_quality.html b/atdb/taskdatabase/templates/taskdatabase/validation/annotate_quality.html
new file mode 100644
index 0000000000000000000000000000000000000000..dd0fc8cb4787be3fdca4c936a58fc364e10bafc1
--- /dev/null
+++ b/atdb/taskdatabase/templates/taskdatabase/validation/annotate_quality.html
@@ -0,0 +1,27 @@
+
+{% block myBlock %}
+<div class="container-fluid details-container">
+
+
+  <div class="card">
+       <div class="card-body">
+         <h4>Quality Annotation</h4>
+
+        <form class="post-form" action="{% url 'annotate-quality' task.id %}" method="POST">
+            {% csrf_token %}
+            <div>
+                {{ form }}
+            </div>
+            <div><button class="btn btn-success btn-sm" type="submit"><i class="fas fa-check"></i> OK</button>
+                <a href="{% url 'validation' %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-times-circle"></i> Cancel</a>&nbsp
+            </div>
+        </form>
+
+       </div>
+  </div>
+</div>
+{% endblock %}
+
+
+{% include "taskdatabase/modal/modal_script.html" %}
+{% include "taskdatabase/modal/modal.html" %}
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation.html b/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation.html
index 01be4de30dbfeb43a0ce38af3bbf06dba9e11ed7..bb8927c18512d14cee2c54c5b126c3ec205e75d8 100644
--- a/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation.html
+++ b/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation.html
@@ -31,31 +31,40 @@
                 <td>{{ task.filter }} </td>
 
                 {% if task.has_quality %}
-                    {% for value in task.quality_as_shortlist %}
+                    {% for value in task.quality_as_list %}
                         <td>{{value}}</td>
                      {% endfor %}
                     <td>
-                      <a href="https://ganglia.grid.surfsara.nl/dcache.php?vo=Lofar&r=day"
-                       class="btn btn-info btn-sm" role="button" target="_blank"><img src="{% static 'taskdatabase/surfsara.jpg' %}"  height="20" alt=""></a>&nbsp;
+                      <a href=""
+                       class="btn btn-primary btn-sm" role="button" target="_blank"><img src="{% static 'taskdatabase/surfsara.jpg' %}"  height="20" alt="this is a placeholder, links to plots will follow"></a>&nbsp;
                     </td>
                 {% else %}
                         <td>-</td><td>-</td><td>-</td><td>-</td>
                 {% endif %}
 
-
-                <td>{{ task.quality|default_if_none:"-" }}</td>
                 <td>
-                    <a href="{% url 'task-validate-view' task.pk 'poor' 'validated' my_tasks.number %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-check"></i> P</a>
-                    <a href="{% url 'task-validate-view' task.pk 'moderate' 'validated' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-check"></i> M</a>
-                    <a href="{% url 'task-validate-view' task.pk 'good' 'validated' my_tasks.number %}" class="btn btn-success btn-sm" role="button"><i class="fas fa-check"></i> G</a>
-
+                    {% if task.get_quality_remarks %}
+                        <a class="open-modal btn btn-warning btn-sm"
+                               href="{% url 'annotate-quality' task.id my_tasks.number %}"
+                               data-popup-url="{% url 'annotate-quality' task.id my_tasks.number %}">
+                            <i class="fas fa-pen-alt"></i>
+                        </a>&nbsp;
+                    {% else %}
+                        <a class="open-modal btn btn-secondary btn-sm"
+                               href="{% url 'annotate-quality' task.id my_tasks.number %}"
+                               data-popup-url="{% url 'annotate-quality' task.id my_tasks.number %}">
+                            <i class="fas fa-pen-alt"></i>
+                        </a>&nbsp;
+                    {% endif %}
                 </td>
+                <td>{{ task.quality|default_if_none:"-" }}</td>
+                <td>{% include "taskdatabase/validation/validation_buttons.html" %}</td>
 
-                </tr>
-            </div>
+            </tr>
+        </div>
         {% endif %}
 
 {% endfor %}
 
 {% include "taskdatabase/modal/modal_script.html" %}
-{% include "taskdatabase/modal/modal.html" %}
\ No newline at end of file
+{% include "taskdatabase/modal/modal_no_close.html" %}
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation_headers.html b/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation_headers.html
index e6911c18081cebeddeff56897b42b10d9c8fe8e5..279efc63cf5d05183408bca39270087dd48b5943 100644
--- a/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation_headers.html
+++ b/atdb/taskdatabase/templates/taskdatabase/validation/tasks_validation_headers.html
@@ -25,6 +25,7 @@
     <th>Sensitivity</th>
     <th>Conditions</th>
     <th>Plots</th>
-    <th>Current Q</th>
-    <th>Choose</th>
+    <th>Annotate</th>
+    <th>Quality</th>
+    <th>Validate (choose a Q)</th>
 </tr>
\ No newline at end of file
diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html b/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html
new file mode 100644
index 0000000000000000000000000000000000000000..70b6c62fa718dc18bd557e7b7ff032953056c7c8
--- /dev/null
+++ b/atdb/taskdatabase/templates/taskdatabase/validation/validation_buttons.html
@@ -0,0 +1,3 @@
+    <a href="{% url 'task-validate-view' task.pk 'poor' 'validated' my_tasks.number %}" class="btn btn-danger btn-sm" role="button"><i class="fas fa-check"></i> P</a>
+    <a href="{% url 'task-validate-view' task.pk 'moderate' 'validated' my_tasks.number %}" class="btn btn-warning btn-sm" role="button"><i class="fas fa-check"></i> M</a>
+    <a href="{% url 'task-validate-view' task.pk 'good' 'validated' my_tasks.number %}" class="btn btn-success btn-sm" role="button"><i class="fas fa-check"></i> G</a>
diff --git a/atdb/taskdatabase/templates/taskdatabase/validation/validation_page.html b/atdb/taskdatabase/templates/taskdatabase/validation/validation_page.html
index 88a9b12ab2b51ec097c0bbecc311f33e1c9dda52..904b6883c7111725eafd5d58ea7c9c2c95f671b8 100644
--- a/atdb/taskdatabase/templates/taskdatabase/validation/validation_page.html
+++ b/atdb/taskdatabase/templates/taskdatabase/validation/validation_page.html
@@ -4,13 +4,17 @@
 {% block myBlock %}
 
 <div class="container-fluid details-container">
+
       <div class="card">
        <div class="card-body">
         <div class="row">
-            <div class="col-8">
+            <div class="col-12">
                 <h3>Validation</h3>
-                These are the tasks in status 'stored' that can be validated. Click one of the quality buttons to validate.
+
+                These are the tasks in status <b>stored</b> that can be validated. Click one of the quality buttons to validate.
+
                 <td>{% include 'taskdatabase/filter/search.html' %}</td>
+
                 <hr>
             </div>
         </div>
@@ -44,7 +48,7 @@
       </div>
 </div>
 
-{% include 'taskdatabase/localstorage_scripts.html' %}
+{% include 'taskdatabase/no_refresh.html' %}
 
 
 {% endblock %}
diff --git a/atdb/taskdatabase/urls.py b/atdb/taskdatabase/urls.py
index fa5b2c7d4bb9a5e9e210c7e600b455cbde793a21..9d0a5aaa55a15fcbb52c3b10fbfd3bbbc041e1d1 100644
--- a/atdb/taskdatabase/urls.py
+++ b/atdb/taskdatabase/urls.py
@@ -21,8 +21,11 @@ urlpatterns = [
 
     path('task_details/<int:id>/<page>', views.TaskDetails, name='task-details'),
     path('task_details/', views.TaskDetails, name='task-details'),
-    path('task_quality/<int:id>/<page>', views.TaskQuality, name='task-quality'),
-    path('task_quality/', views.TaskQuality, name='task-quality'),
+    path('task_quality/<int:id>/<page>', views.ShowTaskQuality, name='task-quality'),
+    path('task_quality/', views.ShowTaskQuality, name='task-quality'),
+    path('annotate_quality/<int:id>/<page>', views.AnnotateQuality, name='annotate-quality'),
+    path('annotate_quality/<int:id>', views.AnnotateQuality, name='annotate-quality'),
+    path('annotate_quality/', views.AnnotateQuality, name='annotate-quality'),
 
     path('show-inputs/<int:id>/', views.ShowInputs, name='show-inputs'),
     path('show-outputs/<int:id>/', views.ShowOutputs, name='show-outputs'),
diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py
index 30cd37630cc91c5b53b826e9f3dab116ec14cd42..0fc33ba7a9836c4b4adcfc2dc68553caf270ae45 100644
--- a/atdb/taskdatabase/views.py
+++ b/atdb/taskdatabase/views.py
@@ -27,6 +27,7 @@ from rest_framework.request import Request
 from django.conf import settings
 from .models import Task, Status, Workflow, LogEntry, Configuration, Job, PostProcessingRule, Monitor, LatestMonitor
 from .tables import TaskTable
+from .forms import QualityAnnotationForm
 
 from django.db.models import Q
 from .serializers import \
@@ -161,7 +162,7 @@ class QueryView(SingleTableMixin, FilterView):
     model = Task
     # queryset = Task.objects.filter(task_type='regular')
     queryset = Task.objects.all()
-    template_name = "query/index.html"
+    template_name = "taskdatabase/query/index.html"
     filterset_class = TaskFilterQueryPage
 
     def get_table_data(self):
@@ -361,7 +362,6 @@ class ShowQualityPage(ListView):
             tasks = get_filtered_tasks(search_box, sort)
 
         # exclude the tasks without quality information
-        #tasks = tasks.exclude(outputs__isnull=True)
         tasks = tasks.exclude(outputs__quality__isnull=True)
         #tasks = tasks.exclude(outputs__0__quality__isnull=True)
 
@@ -421,7 +421,7 @@ class ShowValidationPage(ListView):
         if (search_box is not None):
             tasks = get_filtered_tasks(search_box, sort, stored_tasks)
 
-        # exclude the tasks without quality information
+        # exclude the failed tasks
         tasks = tasks.exclude(status__icontains="failed")
 
         paginator = Paginator(tasks, config.TASKS_PER_PAGE)  # Show 50 tasks per page
@@ -525,7 +525,7 @@ def get_filtered_tasks(search, sort, tasks=None):
 class TaskTables2View(SingleTableView):
     model = Task
     table_class = TaskTable
-    template_name = 'query/query.html'
+    template_name = 'taskdatabase/query/query.html'
 
 
 def TaskDetails(request, id=0, page=0):
@@ -554,7 +554,7 @@ def TaskDetails(request, id=0, page=0):
     return render(request, "taskdatabase/tasks/task_details.html", {'task': task, 'logentries': logentries_html})
 
 
-def TaskQuality(request, id=0, page=0):
+def ShowTaskQuality(request, id=0, page=0):
     try:
         task = Task.objects.get(id=id)
 
@@ -579,6 +579,35 @@ def TaskQuality(request, id=0, page=0):
     return render(request, "taskdatabase/tasks/task_quality.html", {'task': task, 'quality': quality_html})
 
 
+def AnnotateQuality(request, id=0, page=0, new_remark=""):
+
+    # a POST means that the form is filled in and should be stored in the database
+    if request.method == "POST":
+
+        form = QualityAnnotationForm(request.POST)
+
+        if form.is_valid():
+            task = Task.objects.get(id=id)
+            try:
+                task.remarks['quality'] = request.POST.get("annotation","")
+            except:
+                task.remarks = {}
+                task.remarks['quality'] = request.POST.get("annotation","")
+
+            task.save()
+            return redirect('/atdb/validation?page='+request.POST.get("return_to_page",1))
+
+    else:
+        # a GET means that the form should be presented to be filled in
+        task = Task.objects.get(id=id)
+        try:
+            quality_remarks = task.remarks['quality']
+        except:
+            quality_remarks = ""
+
+        form = QualityAnnotationForm(initial={'annotation': quality_remarks, 'return_to_page': page})
+        return render(request, "taskdatabase/validation/annotate_quality.html", {'task': task, 'page': page, 'form':form})
+
 
 def ShowInputs(request, id):
     task = Task.objects.get(id=id)
@@ -614,7 +643,7 @@ def ShowConfig(request):
 def ShowDashboard(request, selection):
     # gather the results
     results_tasks, results_logs = algorithms.construct_dashboard_html(request, selection)
-    return render(request, "dashboard/dashboard.html",
+    return render(request, "taskdatabase/dashboard/dashboard.html",
                   {'results_tasks': results_tasks,
                    'results_logs': results_logs,
                    'selection': selection})
@@ -1062,7 +1091,7 @@ def TaskMultiStatus(request, new_status, query_params):
     current_query_params = convert_query_params_to_url(query_params)
     request.session['current_query_params'] = current_query_params
 
-    return render(request, "query/confirm_multi_change.html", {'new_value': new_status, 'count': count})
+    return render(request, "taskdatabase/query/confirm_multi_change.html", {'new_value': new_status, 'count': count})
 
 
 @login_required
@@ -1086,7 +1115,7 @@ def TaskMultiHold(request, onhold, query_params):
     current_query_params = convert_query_params_to_url(query_params)
     request.session['current_query_params'] = current_query_params
 
-    return render(request, "query/confirm_multi_change.html", {'new_value': onhold, 'count': count})
+    return render(request, "taskdatabase/query/confirm_multi_change.html", {'new_value': onhold, 'count': count})
 
 
 # /atdb/get_size?status__in=defined,staged