diff --git a/scipost_django/edadmin/templates/edadmin/_hx_submission_tab_contents_edadmin.html b/scipost_django/edadmin/templates/edadmin/_hx_submission_tab_contents_edadmin.html
new file mode 100644
index 0000000000000000000000000000000000000000..37830fc5939f6b239f3853d10772fe24f08d29ad
--- /dev/null
+++ b/scipost_django/edadmin/templates/edadmin/_hx_submission_tab_contents_edadmin.html
@@ -0,0 +1,4 @@
+<h1>Editorial administration</h1>
+{% if submission.in_stage_incoming %}
+  {% include "edadmin/_submission_incoming.html" with submission=submission %}
+{% endif %}
diff --git a/scipost_django/edadmin/templates/edadmin/_hx_submission_incoming.html b/scipost_django/edadmin/templates/edadmin/_submission_incoming.html
similarity index 100%
rename from scipost_django/edadmin/templates/edadmin/_hx_submission_incoming.html
rename to scipost_django/edadmin/templates/edadmin/_submission_incoming.html
diff --git a/scipost_django/edadmin/urls/base.py b/scipost_django/edadmin/urls/base.py
index ba6aee73fc5d7902aba60a5d5cf2002e45ce886f..a3fd96ea892cf4bdbcaec2c07ebf0767da3e5095 100644
--- a/scipost_django/edadmin/urls/base.py
+++ b/scipost_django/edadmin/urls/base.py
@@ -25,6 +25,11 @@ urlpatterns = [
                 base._hx_submission_details_contents,
                 name="_hx_submission_details_contents",
             ),
+            path(
+                "tab/edadmin",
+                base._hx_submission_tab_contents_edadmin,
+                name="_hx_submission_tab_contents_edadmin",
+            ),
         ]),
     ),
 ]
diff --git a/scipost_django/edadmin/views/base.py b/scipost_django/edadmin/views/base.py
index 362e2ae27d61e79da4727643b72d8523647e8053..5dd3145b59e8a06242dd18efdd6aafaf43e6e479 100644
--- a/scipost_django/edadmin/views/base.py
+++ b/scipost_django/edadmin/views/base.py
@@ -58,3 +58,13 @@ def _hx_submission_details_contents(request, identifier_w_vn_nr):
     )
     context = {"submission": submission,}
     return render(request, "edadmin/_hx_submission_details_contents.html", context)
+
+
+@login_required
+@user_passes_test(is_edadmin)
+def _hx_submission_tab_contents_edadmin(request, identifier_w_vn_nr):
+    submission = get_object_or_404(
+        Submission, preprint__identifier_w_vn_nr=identifier_w_vn_nr
+    )
+    context = {"submission": submission,}
+    return render(request, "edadmin/_hx_submission_tab_contents_edadmin.html", context)
diff --git a/scipost_django/edadmin/views/incoming.py b/scipost_django/edadmin/views/incoming.py
index 49b93715c4a546f1cdbfc43863f30c6bc416edae..81fb2c6fceb78e39388b10c736c23c1a12dc50df 100644
--- a/scipost_django/edadmin/views/incoming.py
+++ b/scipost_django/edadmin/views/incoming.py
@@ -56,7 +56,7 @@ def _hx_submission_admissibility(request, identifier_w_vn_nr):
         submission.refresh_from_db()
         # trigger re-rendering of the details-contents div
         response = HttpResponse()
-        response["HX-Trigger"] = f"submission-{submission.pk}-details-updated"
+        response["HX-Trigger"] = f"submission-{submission.pk}-tab-edadmin-updated"
         return response
     context = {"submission": submission, "form": form,}
     return render(request, "edadmin/_hx_submission_admissibility_form.html", context)
@@ -123,7 +123,7 @@ def _hx_plagiarism_internal_assess(request, identifier_w_vn_nr):
     if form.is_valid(): # trigger re-rendering of details-contents div
         assessment = form.save()
         response = HttpResponse()
-        response["HX-Trigger"] = f"submission-{submission.pk}-details-updated"
+        response["HX-Trigger"] = f"submission-{submission.pk}-tab-edadmin-updated"
         return response
     context = {
         "submission": submission,
@@ -173,7 +173,7 @@ def _hx_plagiarism_iThenticate_assess(request, identifier_w_vn_nr):
     if form.is_valid(): # trigger re-rendering of details-contents div
         assessment = form.save()
         response = HttpResponse()
-        response["HX-Trigger"] = f"submission-{submission.pk}-details-updated"
+        response["HX-Trigger"] = f"submission-{submission.pk}-tab-edadmin-updated"
         return response
     context = {
         "submission": submission,
@@ -218,7 +218,7 @@ def _hx_submission_admission(request, identifier_w_vn_nr):
         submission.refresh_from_db()
         # redirect to the edadmin page so that all is refreshed
         response = HttpResponse()
-        response["HX-Redirect"] = reverse("edadmin:edadmin")
+        response["HX-Redirect"] = reverse("submissions:pool:pool")
         return response
     context = {"submission": submission, "form": form,}
     return render(request, "edadmin/_hx_submission_admission_form.html", context)
diff --git a/scipost_django/submissions/templates/submissions/pool/_hx_submission_details.html b/scipost_django/submissions/templates/submissions/pool/_hx_submission_details.html
index e0e8a32b3dc55560832eddee4b8af9d5d0e8493d..13fedfecdded7955f7b848f9a9212b53b8d45ab0 100644
--- a/scipost_django/submissions/templates/submissions/pool/_hx_submission_details.html
+++ b/scipost_django/submissions/templates/submissions/pool/_hx_submission_details.html
@@ -8,14 +8,14 @@
 
   </summary>
 
-  <div id="details_{{ submission.id }}"
-       class="mt-2"
-       hx-get="{% url 'submissions:pool:_hx_submission_details_contents' submission.preprint.identifier_w_vn_nr %}"
+  <div id="tabs-{{ submission.id }}"
+       class="m-2 p-2"
+       hx-get="{% url 'submissions:pool:_hx_submission_tab' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr tab='info' %}"
        hx-trigger="toggle once from:#submission-{{ submission.pk }}-details"
-       hx-indicator="#indicator-details-{{ submission.id }}"
+       hx-indicator="#indicator-tabs-{{ submission.id }}"
     >
   </div>
-  <span id="indicator-details-{{ submission.id }}" class="htmx-indicator p-1">
+  <span id="indicator-tabs-{{ submission.id }}" class="htmx-indicator p-1">
     <button class="btn btn-sm btn-warning p-2" type="button" disabled>
       <small><strong>Loading...</strong></small>
       <div class="spinner-grow spinner-grow-sm ms-2" role="status" aria-hidden="true"></div>
diff --git a/scipost_django/submissions/templates/submissions/pool/_hx_submissions_list.html b/scipost_django/submissions/templates/submissions/pool/_hx_submission_list.html
similarity index 64%
rename from scipost_django/submissions/templates/submissions/pool/_hx_submissions_list.html
rename to scipost_django/submissions/templates/submissions/pool/_hx_submission_list.html
index e1d1013e0531cde9a631b57b16625dde7e06a5a0..1beac90190ed5dddb996c41b1543ac04d5def22d 100644
--- a/scipost_django/submissions/templates/submissions/pool/_hx_submissions_list.html
+++ b/scipost_django/submissions/templates/submissions/pool/_hx_submission_list.html
@@ -5,7 +5,7 @@
   <strong>No Submission could be found</strong>
 {% endfor %}
 {% if page_obj.has_next %}
-  <div hx-post="{% url 'submissions:pool:_hx_submissions_list' %}?page={{ page_obj.next_page_number }}"
+  <div hx-post="{% url 'submissions:pool:_hx_submission_list' %}?page={{ page_obj.next_page_number }}"
        hx-include="#search-form"
        hx-trigger="revealed"
        hx-swap="afterend"
@@ -19,3 +19,13 @@
     </div>
   </div>
 {% endif %}
+
+{% block footer_script %}
+  <script type="module" nonce="{{ request.csp_nonce }}">
+   import mermaid from 'https://unpkg.com/mermaid@9/dist/mermaid.esm.min.mjs';
+   mermaid.initialize({ startOnLoad: false });
+   document.body.addEventListener("htmx:afterSettle", function(evt) {
+       mermaid.init(".workflowDiagram");
+   });
+  </script>
+{% endblock footer_script %}
diff --git a/scipost_django/submissions/templates/submissions/pool/_hx_submission_tab.html b/scipost_django/submissions/templates/submissions/pool/_hx_submission_tab.html
new file mode 100644
index 0000000000000000000000000000000000000000..4ff6a3d9c13b20bbc7f48e861e7dc7a16973e6c4
--- /dev/null
+++ b/scipost_django/submissions/templates/submissions/pool/_hx_submission_tab.html
@@ -0,0 +1,92 @@
+<ul class="nav nav-pills justify-content-center">
+  <li class="nav-item">
+    <a class="nav-link{% if tab == "info" %} active{% endif %}"
+       hx-get="{% url "submissions:pool:_hx_submission_tab" identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr tab='info' %}"
+       hx-target="#tabs-{{ submission.id }}"
+    >Submission<br>information</a>
+  </li>
+  <li class="nav-item">
+    <a class="nav-link{% if tab == "refereeing" %} active{% endif %}"
+       hx-get="{% url "submissions:pool:_hx_submission_tab" identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr tab='refereeing' %}"
+       hx-target="#tabs-{{ submission.id }}"
+    >Refereeing<br>history</a>
+  </li>
+  <li class="nav-item">
+    <a class="nav-link{% if tab == "remarks" %} active{% endif %}"
+       hx-get="{% url "submissions:pool:_hx_submission_tab" identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr tab='remarks' %}"
+       hx-target="#tabs-{{ submission.id }}"
+    >Remarks</a>
+  </li>
+  <li class="nav-item">
+    <a class="nav-link{% if tab == "graph" %} active{% endif %}"
+       hx-get="{% url "submissions:pool:_hx_submission_tab" identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr tab='graph' %}"
+       hx-target="#tabs-{{ submission.id }}"
+    >Graph</a>
+  </li>
+  <li class="nav-item">
+    <a class="nav-link{% if tab == "events" %} active{% endif %}"
+       hx-get="{% url "submissions:pool:_hx_submission_tab" identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr tab='events' %}"
+       hx-target="#tabs-{{ submission.id }}"
+    >Events</a>
+  </li>
+  {% if request.user.contributor.is_ed_admin %}
+    <li class="nav-item">
+      <a class="nav-link{% if tab == "edadmin" %} active{% endif %}"
+	 hx-get="{% url "submissions:pool:_hx_submission_tab" identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr tab='edadmin' %}"
+	 hx-target="#tabs-{{ submission.id }}"
+      >EdAdmin</a>
+    </li>
+  {% endif %}
+  <li class="nav-item">
+    <a class="nav-link{% if tab == "old" %} active{% endif %}"
+       hx-get="{% url "submissions:pool:_hx_submission_tab" identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr tab='old' %}"
+       hx-target="#tabs-{{ submission.id }}"
+    >Old version</a>
+  </li>
+</ul>
+<hr>
+<div class="tab-content">
+  {% if tab == "info" %}
+    {% include 'submissions/_submission_summary.html' with submission=submission hide_title=1 show_abstract=1 %}
+
+  {% elif tab == "remarks" %}
+    {% if remark_form %}
+      {% include 'submissions/pool/_remark_form.html' with submission=submission form=remark_form auto_show=1 %}
+    {% endif %}
+    <p class="mb-1">Current remarks:</p>
+    <ul>
+      {% for rem in submission.remarks.all %}
+        {% include 'scipost/_remark_li.html' with remark=rem %}
+      {% empty %}
+        <li>No Remarks found.</li>
+      {% endfor %}
+    </ul>
+
+  {% elif tab == "graph" %}
+    {% include "submissions/_hx_submission_workflow_diagram.html" with submission=submission %}
+
+  {% elif tab == "events" %}
+    <div id="eventslist">
+      {% if request.user.contributor.is_ed_admin %}
+	{% include 'submissions/_submission_events.html' with events=submission.events.for_edadmin %}
+      {% elif request.user.contributor == submission.editor_in_charge %}
+	{% include 'submissions/_submission_events.html' with events=submission.events.for_eic %}
+      {% else %}
+	{% include 'submissions/_submission_events.html' with events=submission.events.for_author %}
+      {% endif %}
+    </div>
+
+  {% elif tab == 'edadmin' and request.user.contributor.is_ed_admin %}
+    <div id="submission-{{ submission.pk }}-tab-contents-edadmin"
+	 hx-get="{% url 'edadmin:_hx_submission_tab_contents_edadmin' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr %}"
+	 hx-trigger="load, submission-{{ submission.pk }}-tab-edadmin-updated"
+    >
+    </div>
+
+  {% elif tab == "old" %}
+    {% include "submissions/pool/_hx_submission_details_contents.html" with submission=submission %}
+
+  {% else %}
+    Unknown tab
+  {% endif %}
+</div>
diff --git a/scipost_django/submissions/templates/submissions/pool/pool.html b/scipost_django/submissions/templates/submissions/pool/pool.html
index f08c3cea2d3246264bba497a54e53fa11baf884c..c13392abf9a93f9791986b738f69f35c2328af19 100644
--- a/scipost_django/submissions/templates/submissions/pool/pool.html
+++ b/scipost_django/submissions/templates/submissions/pool/pool.html
@@ -81,7 +81,7 @@
     </div>
     <div class="card-body">
       <form
-	  hx-post="{% url 'submissions:pool:_hx_submissions_list' %}"
+	  hx-post="{% url 'submissions:pool:_hx_submission_list' %}"
 	  hx-trigger="load, keyup delay:500ms, change"
 	  hx-target="#search-results"
 	  hx-indicator="#indicator-search"
diff --git a/scipost_django/submissions/urls/pool.py b/scipost_django/submissions/urls/pool.py
index 8c378ec77a6f1a0b6f023ea091b0ae2e1ac97803..63eb273f67ecee98691ac67cc2e416e0e1d70fdc 100644
--- a/scipost_django/submissions/urls/pool.py
+++ b/scipost_django/submissions/urls/pool.py
@@ -24,6 +24,11 @@ urlpatterns = [ # building on /submissions/pool/
                 views_pool.pool,
                 name="pool",
             ),
+            path(
+                "tab/<slug:tab>",
+                views_pool._hx_submission_tab,
+                name="_hx_submission_tab",
+            ),
             path(
                 "add_remark",
                 views_pool.add_remark,
@@ -51,8 +56,8 @@ urlpatterns = [ # building on /submissions/pool/
         include([
             path(
                 "",
-                views_pool.pool_hx_submissions_list,
-                name="_hx_submissions_list",
+                views_pool.pool_hx_submission_list,
+                name="_hx_submission_list",
             ),
             path(
                 "<identifier:identifier_w_vn_nr>",
diff --git a/scipost_django/submissions/views/pool.py b/scipost_django/submissions/views/pool.py
index ff5865e5bba2b422320643e7658d99650227c407..616039f2ff75aeb6397d0429a2ae781bb652b8e1 100644
--- a/scipost_django/submissions/views/pool.py
+++ b/scipost_django/submissions/views/pool.py
@@ -58,7 +58,7 @@ def pool(request, identifier_w_vn_nr=None):
 
 @login_required
 @fellowship_or_admin_required()
-def pool_hx_submissions_list(request):
+def pool_hx_submission_list(request):
     form = SubmissionPoolSearchForm(request.POST or None, request=request)
     if form.is_valid():
         submissions = form.search_results(request.user)
@@ -70,7 +70,7 @@ def pool_hx_submissions_list(request):
     count = paginator.count
     start_index = page_obj.start_index
     context = {"count": count, "page_obj": page_obj, "start_index": start_index,}
-    return render(request, "submissions/pool/_hx_submissions_list.html", context)
+    return render(request, "submissions/pool/_hx_submission_list.html", context)
 
 
 @login_required
@@ -84,6 +84,19 @@ def pool_hx_submission_details_contents(request, identifier_w_vn_nr):
     return render(request, "submissions/pool/_hx_submission_details_contents.html", context)
 
 
+@login_required
+@fellowship_or_admin_required()
+def _hx_submission_tab(request, identifier_w_vn_nr, tab):
+    submission = get_object_or_404(
+        Submission.objects.in_pool(request.user, historical=True),
+        preprint__identifier_w_vn_nr=identifier_w_vn_nr,
+    )
+    context = {"submission": submission, "tab": tab,}
+    if tab == "remarks":
+        context["remark_form"] = RemarkForm()
+    return render(request, "submissions/pool/_hx_submission_tab.html", context)
+
+
 @login_required
 @fellowship_or_admin_required()
 def add_remark(request, identifier_w_vn_nr):