diff --git a/README.rst b/README.rst
index e5d0251f38d496da608ba3c99526b31678378caf..664d44feccd825af419d30650fa31a27e97234c2 100644
--- a/README.rst
+++ b/README.rst
@@ -1,38 +1,16 @@
-AlekSIS — All-libre extensible kit for school information systems
-=================================================================
+AlekSIS (School Information System) — Core (Core functionality and app framework)
+=================================================================================
 
-Warning
--------
-
-**This is an alpha version of AlekSIS, the free school information system.
-The AlekSIS team is looking for schools who want to help shape the 2.0
-final release and supports interested schools in operating AlekSIS.**
-
-What AlekSIS is
-----------------
-
-`AlekSIS`_ is a web-based school information system (SIS) which can be used to
-manage and/or publish organisational subjects of educational institutions.
-
-Formerly two separate projects (BiscuIT and SchoolApps), developed by
-`Teckids e.V.`_ and a team of students at `Katharineum zu Lübeck`_, they
-were merged into the AlekSIS project in 2020.
+AlekSIS standard distribution
+-----------------------------
 
-AlekSIS is a platform based on Django, that provides central funstions
-and data structures that can be used by apps that are developed and provided
-seperately. The AlekSIS team also maintains a set of official apps which
-make AlekSIS a fully-featured software solutions for the information
-management needs of schools.
+The AlekSIS standard distribution with information about all official apps
+can be found on `EduGit`_.
 
-By design, the platform can be used by schools to write their own apps for
-specific needs they face, also in coding classes. Students are empowered to
-create real-world applications that bring direct value to their environment.
+Features
+--------
 
-AlekSIS is part of the `schul-frei`_ project as a component in sustainable
-educational networks.
-
-Core features
---------------
+The AlekSIS-Core currently provides the following features:
 
 * For users:
 
@@ -53,24 +31,6 @@ Core features
  * Authentication via LDAP
  * Automatic backup of database, static and media files
 
-Official apps
--------------
-
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| App name                             | Purpose                                                                                     |
-+======================================+=============================================================================================+
-| `AlekSIS-App-Chronos`_               | The Chronos app provides functionality for digital timetables.                              |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| `AlekSIS-App-DashboardFeeds`_        | The DashboardFeeds app provides functionality to add RSS or Atom feeds to dashboard         |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| `AlekSIS-App-Hjelp`_                 | The Hjelp app provides functionality for aiding users.                                      |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| `AlekSIS-App-LDAP`_                  | The LDAP app provides functionality to import users and groups from LDAP                    |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| `AlekSIS-App-Untis`_                 | This app provides import and export functions to interact with Untis, a timetable software. |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-
-
 Licence
 -------
 
@@ -91,13 +51,6 @@ full licence text or on the `European Union Public Licence`_ website
 https://joinup.ec.europa.eu/collection/eupl/guidelines-users-and-developers
 (including all other official language versions).
 
-.. _AlekSIS: https://aleksis.org/
-.. _Teckids e.V.: https://www.teckids.org/
-.. _Katharineum zu Lübeck: https://www.katharineum.de/
+.. _AlekSIS: https://edugit.org/AlekSIS/Official/AlekSIS
 .. _European Union Public Licence: https://eupl.eu/
-.. _schul-frei: https://schul-frei.org/
-.. _AlekSIS-App-Chronos: https://edugit.org/AlekSIS/official/AlekSIS-App-Chronos
-.. _AlekSIS-App-DashboardFeeds: https://edugit.org/AlekSIS/official/AlekSIS-App-DashboardFeeds
-.. _AlekSIS-App-Hjelp: https://edugit.org/AlekSIS/official/AlekSIS-App-Hjelp
-.. _AlekSIS-App-LDAP: https://edugit.org/AlekSIS/official/AlekSIS-App-LDAP
-.. _AlekSIS-App-Untis: https://edugit.org/AlekSIS/official/AlekSIS-App-Untis
+.. _EduGit: https://edugit.org/AlekSIS/official/AlekSIS
diff --git a/aleksis/core/locale/de_DE/LC_MESSAGES/django.po b/aleksis/core/locale/de_DE/LC_MESSAGES/django.po
index 79d4a662072dcdb6960cb7196fb14e3d0027ccb8..6f6d8fc83f732fbd2abdedbb8f4793e2591c1ca1 100644
--- a/aleksis/core/locale/de_DE/LC_MESSAGES/django.po
+++ b/aleksis/core/locale/de_DE/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: AlekSIS (School Information System) 0.1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-08-02 16:29+0200\n"
-"PO-Revision-Date: 2020-08-02 15:00+0000\n"
+"PO-Revision-Date: 2020-12-19 12:57+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
 "Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis/"
 "de/>\n"
@@ -17,7 +17,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.0.1\n"
+"X-Generator: Weblate 4.3.2\n"
 
 #: filters.py:37 templates/core/base.html:77 templates/core/group/list.html:20
 #: templates/core/person/list.html:24 templates/search/search.html:7
@@ -412,7 +412,7 @@ msgstr "Kann Kindgruppen zu Gruppen zuordnen"
 
 #: models.py:330
 msgid "Long name"
-msgstr "Langer Name"
+msgstr "Langname"
 
 #: models.py:340 templates/core/group/full.html:65
 msgid "Members"
diff --git a/aleksis/core/locale/la/LC_MESSAGES/django.po b/aleksis/core/locale/la/LC_MESSAGES/django.po
index 4f7d0a777a81038f71eadea209d332a096758d80..6fa38602c123109a48b5f34b07415b76a666f5a5 100644
--- a/aleksis/core/locale/la/LC_MESSAGES/django.po
+++ b/aleksis/core/locale/la/LC_MESSAGES/django.po
@@ -8,27 +8,26 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-08-02 16:29+0200\n"
-"PO-Revision-Date: 2020-04-27 13:03+0000\n"
+"PO-Revision-Date: 2020-12-19 12:57+0000\n"
 "Last-Translator: Julian <leuckerj@gmail.com>\n"
-"Language-Team: Latin <https://translate.edugit.org/projects/aleksis/aleksis/la/>\n"
+"Language-Team: Latin <https://translate.edugit.org/projects/aleksis/aleksis/"
+"la/>\n"
 "Language: la\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.0.1\n"
+"X-Generator: Weblate 4.3.2\n"
 
 #: filters.py:37 templates/core/base.html:77 templates/core/group/list.html:20
 #: templates/core/person/list.html:24 templates/search/search.html:7
 #: templates/search/search.html:22
 msgid "Search"
-msgstr ""
+msgstr "Quaerere"
 
 #: filters.py:53
-#, fuzzy
-#| msgid "Short name"
 msgid "Search by name"
-msgstr "Breve nomen"
+msgstr "Quaerere cum breve nomine"
 
 #: filters.py:65
 #, fuzzy
@@ -249,7 +248,7 @@ msgstr ""
 
 #: models.py:36
 msgid "Date and time"
-msgstr ""
+msgstr "Dies et hora"
 
 #: models.py:37
 msgid "Decimal number"
diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py
index 16a003bef2b94c6c3b4e05b0b425fd42e2678343..7f584cd9d5c16492803c6dbb7a1d53da9b0b46f1 100644
--- a/aleksis/core/settings.py
+++ b/aleksis/core/settings.py
@@ -44,6 +44,23 @@ DEBUG_TOOLBAR_CONFIG = {
     "SHOW_TOOLBAR_CALLBACK": "aleksis.core.util.core_helpers.dt_show_toolbar",
 }
 
+DEBUG_TOOLBAR_PANELS = [
+    "debug_toolbar.panels.versions.VersionsPanel",
+    "debug_toolbar.panels.timer.TimerPanel",
+    "debug_toolbar.panels.settings.SettingsPanel",
+    "debug_toolbar.panels.headers.HeadersPanel",
+    "debug_toolbar.panels.request.RequestPanel",
+    "debug_toolbar.panels.sql.SQLPanel",
+    "debug_toolbar.panels.cache.CachePanel",
+    "debug_toolbar.panels.staticfiles.StaticFilesPanel",
+    "debug_toolbar.panels.templates.TemplatesPanel",
+    "debug_toolbar.panels.signals.SignalsPanel",
+    "debug_toolbar.panels.logging.LoggingPanel",
+    "debug_toolbar.panels.redirects.RedirectsPanel",
+    "debug_toolbar.panels.profiling.ProfilingPanel",
+]
+
+
 ALLOWED_HOSTS = _settings.get("http.allowed_hosts", [])
 
 # Application definition
@@ -184,6 +201,11 @@ if _settings.get("caching.memcached.enabled", False):
             "LOCATION": _settings.get("caching.memcached.address", "127.0.0.1:11211"),
         }
     }
+    INSTALLED_APPS.append("cachalot")
+    DEBUG_TOOLBAR_PANELS.append("cachalot.panels.CachalotPanel")
+    CACHALOT_TIMEOUT = _settings.get("caching.cachalot.timeout", None)
+    CACHALOT_DATABASES = set(["default"])
+    SILENCED_SYSTEM_CHECKS.append("cachalot.W001")
 
 # Password validation
 # https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
diff --git a/poetry.lock b/poetry.lock
index fcdb7c6b506734fa499a17a387b90f148955b2ff..be0e61cd822675c59e9c9fc318fd2f104c7f900a 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -445,6 +445,17 @@ python-versions = "*"
 [package.dependencies]
 Django = ">=1.8"
 
+[[package]]
+name = "django-cachalot"
+version = "2.3.3"
+description = "Caches your Django ORM queries and automatically invalidates them."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+Django = ">=2"
+
 [[package]]
 name = "django-cache-memoize"
 version = "0.1.7"
@@ -2171,7 +2182,7 @@ ldap = ["django-auth-ldap"]
 [metadata]
 lock-version = "1.1"
 python-versions = "^3.7"
-content-hash = "796fb4bd6779730135a6d2c08f09646dd3f91cdb59dfe2210bdfabd5050f0d2f"
+content-hash = "65a4b7b891965a330e7fec9ed64213579550aac1ac8295aa8c3022a4978d488c"
 
 [metadata.files]
 alabaster = [
@@ -2337,6 +2348,10 @@ django-bulk-update = [
     {file = "django-bulk-update-2.2.0.tar.gz", hash = "sha256:5ab7ce8a65eac26d19143cc189c0f041d5c03b9d1b290ca240dc4f3d6aaeb337"},
     {file = "django_bulk_update-2.2.0-py2.py3-none-any.whl", hash = "sha256:49a403392ae05ea872494d74fb3dfa3515f8df5c07cc277c3dc94724c0ee6985"},
 ]
+django-cachalot = [
+    {file = "django-cachalot-2.3.3.tar.gz", hash = "sha256:ba3a6cabf834139196179c4f6d77409ae9170267ee8ce40e27bbf6c3f6733b2b"},
+    {file = "django_cachalot-2.3.3-py3-none-any.whl", hash = "sha256:55f94e94f7000f5f6bd92188d3d7535cfdef79f2e697e36daf69cba8f435e156"},
+]
 django-cache-memoize = [
     {file = "django-cache-memoize-0.1.7.tar.gz", hash = "sha256:5e96349b0159aec1eb79257199a1902ea3ed538231ce7b4fee12e563127ca657"},
     {file = "django_cache_memoize-0.1.7-py2.py3-none-any.whl", hash = "sha256:bc7f53725558244af62197d0125732d7ec88ecc1281a3a2f37d77ae1a8c269d3"},
diff --git a/pyproject.toml b/pyproject.toml
index 9d0c7e7a40c795c77697aefea7b04cbef1b8e284..c0df6916b5e987cc3ec19bd1e03ddcfb567bda76 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -89,6 +89,7 @@ django-favicon-plus-reloaded = "^1.0.4"
 django-health-check = "^3.12.1"
 psutil = "^5.7.0"
 celery-progress = "^0.0.14"
+django-cachalot = "^2.3.2"
 django-prometheus = "^2.1.0"
 importlib-metadata = {version = "^3.0.0", python = "<3.9"}
 django-model-utils = "^4.0.0"