diff --git a/templates/de/about.html.ep b/templates/de/about.html.ep
index d74cfd1..c58aebf 100644
--- a/templates/de/about.html.ep
+++ b/templates/de/about.html.ep
@@ -40,21 +40,24 @@
     Es können sich jederzeit unangekündigt Dinge ändern und auch ein kompletter Ausfall über längere Zeit lässt sich nicht mit Sicherheit ausschließen.
     Wenn Sie DeReKoVecs längerfristig für eigene Forschungen verwenden wollen, sprechen Sie uns bitte an.
 </p>
-<h3>Geplante Ausfallzeiten und Ankündigungen</h3>
-<dl id="downtimes">
-    <dt>04.09.2026</dt>
-    <dd>
+<h3>Änderungen</h3>
+<p>
+    <strong>04.09.2026</strong>
+
         Log-Dice (LD) wird jetzt genau so berechnet, wie es Rychlý (2008) definiert,
         \(14 + \log_2 \frac{2f_{1,2}}{f_1 + f_2}\), also ohne den Fenstergrößenfaktor, der bisher
         auf \(f_1\) angewendet wurde. Die Werte sind dadurch höher als zuvor, um bis zu
         \(\log_2\) der Fenstergröße, und direkt mit denen anderer Werkzeuge wie Sketch Engine
         vergleichbar. Auch LL ändert sich: Seine Vierfeldertafel wird jetzt als Ganzes mit der
-        Fenstergröße skaliert und nicht mehr nur in der Zeilensumme – Dank an
-        <a href="https://github.com/feldmueller">Tim Feldmüller</a> für den Hinweis.
+        Fenstergröße skaliert und nicht mehr nur in der Zeilensumme.
         LDaf bleibt unverändert, ebenso die Reihenfolge der Kollokatoren: Es ist der
         Auto-Focus-Wert, der den Fenstergrößenfaktor bewusst behält, weil er ihn erst empfindlich
         dafür macht, wie konzentriert ein Paar auftritt. MI, MI², MI³ und nPMI ändern sich nicht,
         da sie nur die erwartete Häufigkeit benötigen, und die bleibt gleich.
-    </dd>
+</p>
+
+<h3>Geplante Ausfallzeiten und Ankündigungen</h3>
+<dl id="downtimes">
+    <dt></dt><dd>–</dd>
 </dl>
 </html>
diff --git a/templates/en/about.html.ep b/templates/en/about.html.ep
index 897f059..20c0ecc 100644
--- a/templates/en/about.html.ep
+++ b/templates/en/about.html.ep
@@ -38,21 +38,24 @@
     Things can change unannounced at any time and even a complete breakdown over a longer period of time cannot be excluded with certainty.
     If you would like to use DeReKoVecs for your own research in the longer term, please contact us.
 </p>
-<h3>Scheduled Downtimes and Announcements</h3>
-<dl id="downtimes">
-    <dt>2026-09-04</dt>
-    <dd>
+<h3>Changes</h3>
+<p>
+    <strong>2026-09-04</strong>
+
         Log-Dice (LD) is now computed exactly as defined by Rychlý (2008),
         \(14 + \log_2 \frac{2f_{1,2}}{f_1 + f_2}\), without the window size factor that used to be
         applied to \(f_1\). Values are therefore higher than before, by up to \(\log_2\) of the
         window size, and directly comparable to those of other tools such as Sketch Engine.
         LL changes as well: its contingency table is now scaled with the window size as a whole
-        rather than in its row total alone – thanks to
-        <a href="https://github.com/feldmueller">Tim Feldmüller</a> for spotting this.
+        rather than in its row total alone.
         LDaf is unchanged, as is the order of the collocates: it is the auto focus score, which
         keeps the window size factor deliberately, since that is what makes it sensitive to how
         concentrated a pair is. MI, MI², MI³ and nPMI are unaffected, as they only need the
         expected co-occurrence frequency, which is unchanged.
-    </dd>
+</p>
+
+<h3>Scheduled Downtimes and Announcements</h3>
+<dl id="downtimes">
+    <dt></dt><dd>–</dd>
 </dl>
 </html>
diff --git a/templates/index.html.ep b/templates/index.html.ep
index 1d16c4c..9322028 100644
--- a/templates/index.html.ep
+++ b/templates/index.html.ep
@@ -58,7 +58,7 @@
      }
      
      $(document).ready(function() {
-       insertCalendarEvents(document.getElementById('downtimes'), '/derekovecs/getDowntimeCalendar' );
+       insertCalendarEvents(document.getElementById('downtimes'), '/derekovecs/getDowntimeCalendar', 7);
 
        $('#firstable').hide();
        //Set up a callback to hear back when MathJax is done rendering the equations
@@ -994,7 +994,8 @@
            % }
            <h3>Source Code</h3>
            <ul>
-            <li><a href="https://korap.ids-mannheim.de/gerrit/plugins/gitiles/ids-kl/dereko2vec">dereko2vec</a></li>
+            <li><a href="https://github.com/kupietz/dereko2vec">dereko2vec</a></li>
+            <li><a href="https://github.com/kupietz/collocatordb">collocatordb</a></li>
             <li><a href="https://korap.ids-mannheim.de/gerrit/plugins/gitiles/ids-kl/derekovecs">derekovecs</a></li>
            </ul>
            <h3><%== loc 'references' %></h3>
