diff --git a/README.md b/README.md
index 8c926001ce0e67ee179d9d50526ceb7121a000d6..f0d405b274cd2abb15f21b634261bebeba0645c3 100644
--- a/README.md
+++ b/README.md
@@ -4,4 +4,13 @@ A collection of CMake helper functions and tools that are common to all IHTA C++
 
 ## Features
 
-t.b.d.
+- `ihta_add_library`: Adds a library target with all common settings.
+  This also allows to add a unit test executable with the same command.
+  Furthermore, if unit tests are desired, one can also use the option `TEST_INTERNALS` to be able to test the internal parts of the library.
+- Checks if [`CPM.cmake`](https://github.com/cpm-cmake/CPM.cmake) is available and downloads it if not.
+  For this, it expects the `CPM.cmake` file to be in `${CMAKE_BINARY_DIR}/cmake`.
+- Download some common CMake libraries in [`GroupSourcesByFolder.cmake`](https://github.com/TheLartians/GroupSourcesByFolder.cmake) and [`PackageProject.cmake`](https://github.com/TheLartians/PackageProject.cmake) and patches them for our build system.
+- `init_project`: Initializes some common settings for a project.
+  Primarily sets the output `bin` and `lib` directories so debugging works on windows builds.
+- `ihta_add_test`: Adds a unit test executable target including downloading the dependencies, CTest registration and optional code coverage.
+- `build_doc`: Builds doxygen documentation with nice styling.