diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4464cd89267104462074e9c3846ec4748c9498d6..b4a943f45ed594e7cfa5ea6f5d642023d12f4590 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,4 @@
+# Changelog
 ## 1.0.0 (2024-04-22)
 
-### other (1 change)
-
-- [add gitlab ci cd pipeline for releases + changelog](jupyterjsc/packages/jupyterhub-forwardbasespawner@2124bb5734c6267c1173fed6aed32aaeeb5869d2) ([merge request](jupyterjsc/packages/jupyterhub-forwardbasespawner!1))
+Release of version 1.0.0
diff --git a/README.md b/README.md
index aa353db884a5ade1f51ec05a66056d5d9af03d76..9982bce5742a117de47aed0bffd34b1c660724d3 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,26 @@
+[![Documentation Status](https://readthedocs.org/projects/jupyterhub-forwardbasespawner/badge/?version=latest)](https://jupyterhub-forwardbasespawner.readthedocs.io/en/latest/?badge=latest)
+
 # ForwardBaseSpawner
-Todo
+
+The ForwardBaseSpawner is a base class, which can be used by any Spawner that creats the singleuser notebook server on a remote system. The ForwardBaseSpawner itself cannot start anything. The actual logic of starting / stopping must be implemented in a subclass.
+  
+## Overview  
+  
+The JupyterHub ForwardBaseSpawner offers a variety of useful functions, to enable and manage the communication between JupyterHub and a singleuser notebook servers, which runs on a remote machine. It covers the following functionalities:
+
+- Manage ssh port forwarding process from JupyterHub to singleuser notebook server
+- Manage ssh port forwarding process from singleuser notebook server to JupyterHub
+- Manage [Kubernetes Service](https://kubernetes.io/docs/concepts/services-networking/service/) Resource to make singleuser notebook server reachable for JupyterHub
+- Adds cancel function. Allows the user to cancel an ongoing spawn process
+- Start process of remote singleuser notebook servers may send their current progress to SpawnEventsAPIHandler, which shows it to the user
+- SetupTunnelAPIHandler allows to define the ssh jump node between JupyterHub and singleuser notebook server during the spawn process
+- ListServersAPIHandler returns all running UserID-servername combinations. Gives remote systems the chance to compare their running servers with the JupyterHub ones
+- SSHNodeRestartedAPIHandler enables a recreation of all port forwarding process to a specific jump node. Required when a jump node was restarted
+  
+For more information and the usage have a look at the [JupyterHub OutpostSpawner](https://jupyterhub-outpostspawner.readthedocs.io) documentation. It's a subclass of the ForwardBaseSpawner and enables a central JupyterHub to start singleuser notebook-server on multiple remote systems.  
+You can find a few examples and configurations over there.
+
+## Requirements  
+  
+At least one JupyterHub running on a Kubernetes Cluster (recommended is the use of [Zero2JupyterHub](https://z2jh.jupyter.org/en/stable/)). 
+A subclass of the ForwardBaseSpawner which implements the actual start/stop logic for singleuser notebook servers.
diff --git a/docs/changelog.md b/docs/changelog.md
new file mode 100644
index 0000000000000000000000000000000000000000..d055a25529a987ddf322631d5ae85e75cb064634
--- /dev/null
+++ b/docs/changelog.md
@@ -0,0 +1,4 @@
+```{eval-rst}
+.. include:: ../CHANGELOG.md
+   :parser: myst_parser.sphinx_
+```
diff --git a/docs/index.md b/docs/index.md
index 945e685d4fea1d5785b4e5c1eeec2c651f06c39b..027075f4508b9193fe6e9dd9bfe36e7f06910ca5 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -43,3 +43,11 @@ A subclass of the ForwardBaseSpawner which implements the actual start/stop logi
     spawners/forwardbasespawner
     apiendpoints
 ```
+
+```{eval-rst}
+.. toctree::
+    :maxdepth: 2
+    :caption: Reference
+
+    changelog
+```