diff --git a/core/views/caves.py b/core/views/caves.py
index 41c14ef..7a3818c 100644
--- a/core/views/caves.py
+++ b/core/views/caves.py
@@ -500,7 +500,7 @@ def get_entrances(request, caveslug):
     )
 
 
-def caveQMs(request, slug):
+def caveQMs(request, slug, open=False):
     """Lists all the QMs on a particular cave
     relies on the template to find all the QMs for the cave specified in the slug, e.g. '1623-161'
     Now working in July 2022
@@ -512,6 +512,8 @@ def caveQMs(request, slug):
 
     if cave.non_public and settings.PUBLIC_SITE and not request.user.is_authenticated:
         return render(request, "nonpublic.html", {"instance": cave})
+    elif open:
+        return render(request, "cave_open_qms.html", {"cave": cave})
     else:
         return render(request, "cave_qms.html", {"cave": cave})
 
diff --git a/templates/cave_open_qms.html b/templates/cave_open_qms.html
new file mode 100644
index 0000000..b2f5029
--- /dev/null
+++ b/templates/cave_open_qms.html
@@ -0,0 +1,64 @@
+{% extends "base.html" %}
+{% load link %}
+{% block title %} QM: {{qm|safe}} {% endblock %}
+{% block contentheader %}
+    <h2>Open Leads for <a href="/{{cave.url}}">{{cave.kataster_number}} {% if cave.official_name %}- {{cave.official_name|safe}}{% endif %}</a>{% if cave.unofficial_number %} - ({{cave.unofficial_number|safe}}){% endif %}</h2>
+    
+
+{% endblock %}
+{% block content %}
+
+{{cave.slug}} -  <a href="/cave/qms/{{cave.slug}}">All QMs</a><br />
+{{cave.slug}} - all <a href="/survexfile/{{cave.kataster_number}}">Survexfiles</a><br />
+{{cave.slug}} -  <a href="/survexfile/{{cave.survex_file}}">Primary survexfile</a><br />
+<br />
+&sect; QM.nearest_station_name<br />
+&#9737; QM.page_ref<br />
+&nbsp; <span style="color:red;">QM.comment</span><br />
+
+<style>
+li::marker {
+    font-size: 200%;
+    display: flex;
+}
+li {
+    
+}
+</style>
+    <ul style="padding-left: 1em; font-size: 130%;list-style-type: '&#11036;&nbsp; ' ">{% for QM in cave.get_open_QMs %}
+    {% ifchanged QM.block %}
+    <div style="text-align:center"><hr /><a href="/survexfile/{{QM.block.survexfile.path}}.svx">{{QM.block}}.svx</a></div><br />{% endifchanged %}
+        <li> <b>{{QM.grade}}</b> <a href="{{QM.get_absolute_url}}">{{QM}}</a>
+        {% if QM.nearest_station_name %}&sect;<em><span style="font-family: monospace">{{QM.nearest_station_name|safe}}</span></em>&sect;{% endif %}<br />
+        {{QM.location_description|safe}}<br />
+         
+        {% if QM.block %}{{QM.block.date|date:'Y-m-d'}} {% endif %}
+        {% if QM.comment %}
+        <span style="color:red;">{{QM.comment}}</span>{% endif %}<br /><br />
+    {% empty %}
+    <li>No open leads. 
+    {% endfor %}
+    </ul>
+
+
+<hr />
+    <p>Note that QMs loaded for 1623-161, 1623-204 and 1623-234 are imported from CSV files . 
+    
+    <ul>
+    <li><a href="{% url 'caveQMs' '1623-161' %}">1623-161 QMs</a> Maybe OUT OF DATE. See <a href="/1623/161/qmdone.htm">the manually curated list <b>instead</b></a>
+    <li><a href="{% url 'caveQMs' '1623-204' %}">1623-204 QMs</a> Maybe OUT OF DATE. See <a href=" /1623/204/qm.html">the manually curated list <b>instead</b></a>
+    <li><a href="{% url 'caveQMs' '1623-234' %}">1623-234 QMs</a>
+    </ul>
+    <p>QMs are also loaded directly from the survex files, e.g. see
+    <ul>
+    <li><a href="{% url 'caveQMs' '1623-264' %}">1623-264 QMs</a> Balkon
+    <li><a href="{% url 'caveQMs' '1623-258' %}">1623-258 QMs</a> Tunnocks
+    <li><a href="{% url 'caveQMs' '1623-290' %}">1623-290 QMs</a> Fischgesicht
+    <li><a href="{% url 'caveQMs' '1623-291' %}">1623-291 QMs</a> Happy Butterfly
+    <li><a href="{% url 'caveQMs' '1626-359' %}">1626-359 QMs</a> Homecoming
+   </ul>
+   
+   <p>For how to set up your own QMs, see <a href="/handbook/survey/qmentry.html">Adding QMs </a>.
+    <p>For full explanation of the current status of the QM system(s), see <a href="/handbook/troggle/scriptsqms.html">scriptsqms page</a>.
+<hr />
+{% endblock %}
\ No newline at end of file
diff --git a/urls.py b/urls.py
index fbee871..c06b94a 100644
--- a/urls.py
+++ b/urls.py
@@ -208,6 +208,7 @@ trogglepatterns = [
 
 # QMs pages - must precede other /caves pages?
     re_path(r'^cave/qms/([^/]+)/?$', caveQMs, name="caveQMs"),
+    re_path(r'^cave/openqms/([^/]+)/?$', caveQMs, {'open': True}, name="cave_openQMs"),
     re_path(r'^cave/qms/(?P<cave_id>[^/]+)/(?P<year>\d\d\d\d)-(?P<qm_id>\d*)(?P<grade>[ABCDXV\?]?)-?(?P<blockname>[a-zA-Z]+.*)?$', qm, name="qm"), # Dogs breakfast
     # the  resolution of a QM uses several fields together, there is no clean slug field. Artefact of history.