diff --git a/Readme.md b/Readme.md
index f055c77..b0064af 100644
--- a/Readme.md
+++ b/Readme.md
@@ -22,15 +22,44 @@ Im Gegensatz zum [Main-Branch][main], der keine DB-Abhängigkeiten enthält,
Leider werden durch die SQLite-Bibliothek weitere Transitive Abhängigkeiten eingebunden,
die das JAR ein wenig aufblähen.
+## Motivation
+
+Natürlich gibt es freie Implementierungen des OIDC-Protokolls.
+Der Platzhirsch auf dem Open-Source-Markt dürfte wohl [Keycloak] sein.
+Allerdings ist Keykloak alles andere als einfach zu konfigurieren und dürfte wohl für viele Nutzer deutlich mehr Features als Ballast mitbringen, als eigentlich benötigt werden.
+
+Deshalb war das Ziel hier:
+
+* kein [Feature-Creep](https://datei.wiki/definition/die-grundlagen-des-feature-creep/)
+* kein NodeJS – und damit keine Dependency-Hölle
+* Platformunabhängig dank Java
+* erweiterbar
+* verschlüsselte Datenbank
+
## bauen
Dies ist ein Gradle-Project. Um es zu compilieren brauchen Sie ein aktuelles Java-Development-Kit.
Das Projekt kann durch Aufruf von `./gradlew build` in einem Terminal innerhalb des Wurzelverzeichnisses gebaut werden.
-## Datenbank-Unterstützung
+## Backends
+
+Im Main-Branch ist kein Datenbank-Backend enthalten.
+Alle Einstellungen werden in einer JSON-Datei gespeichert, wobei eine Verschlüsselung einfach konfiguriert werden kann.
+Dieses Setup sollte für kleine und mittlere Instanzen reichen.
+
+### Datenbank-Unterstützung
Um das Projekt klein zu halten ist im _main_-Branch kein Datenbank-Support eingebaut.
Es gibt aber einen separaten Branch, der die Benutzung von SQLite-Datenbanken untersützt: [sqlite]
+
+Die Anbindung an andere Datenbanksysteme ist möglich, im Moment aber noch nicht implementiert.
+
+### andere Backends
+
+Aufgrund der Architektur des OIDC-Providers sollte es jederzeit möglich sein weitere Backends, wie z.B. LDAP anzubinden.
+Dies ist aber im Moment noch nicht implementiert – und wird wohl erst auf Nachfrage implementiert werden.
+
+
This aims to be a [specification] compliant OpenID connect provider with minimal footprint.
@@ -47,19 +76,47 @@ While the [main] branch does not contain any dependencies for database support,
Unfortunately the SQLite library also draws in some additional dependencies,
which – to a certain extend – increases the size of the compiled JAR archive.
+## Motivation
+
+Of course, there are plenty other implementations of the OIDC protocol.
+The most well-known open source OIDC provider might be [Keycloak].
+However, that piece of software called Keycloak is really heavy duty, hard to configure and bloated with features the most users won`t need.
+
+Thus, the goal for LightOIDC was:
+
+* don`t be a feature creep
+* don`t use NodeJS – avoid the dependency hell
+* be platform neutral by using Java
+* be extensible
+* allow data to be encrypted
+
## build
This is a gradle project. To compile it, you should have a recent version of a Java Development Kit installed.
Build the roject by launching `./gradlew build` in a terminal while being in the root folder of the project.
-## database support
+## backends
+
+In the main branch, there ist no database backend.
+Alle preferences and data are stored in a JSON file, allowing for easy encryption of data.
+This setup should be fine for small and medium instances.
+
+### database support
In order to achieve a minimal footprint, no database support is incorporated in the main branch.
However, there is SQLite support in a separate branch: [sqlite]
+Utilizing other databases should be possible, but has not been implemented, yet.
+
+### other backends
+
+LightOIDCs architecture shout allow integration other backends, like LDAP, without a hazzle.
+However, this is not implemented yet – work will have to be done on demand!
+