diff --git a/docs/commit_messages.txt b/docs/commit_messages.txt
index b10aaab161e2467e3707eb08c26fd215e608ffb3..04328789df69a5672177a6a75bb463fe305db48c 100644
--- a/docs/commit_messages.txt
+++ b/docs/commit_messages.txt
@@ -1,10 +1,5 @@
 
 Classes:
-CMS:
-	This class bundles some features and might be the entry point
-	of the library in the future. At the moment it doesn't do much.
-	- Pages are hold by Data, CMS passes trough the call(s).
-
 Data:
 	This class will handle Data needed by the CMS, provides storage
 	for modules, manages the database connection and maybe also
diff --git a/docs/sefht.texi b/docs/sefht.texi
index 63dca26181bde75ce8163630113fe3a148581e64..31a03b069ccd015169f9410ad631b0dee876a255 100644
--- a/docs/sefht.texi
+++ b/docs/sefht.texi
@@ -963,6 +963,45 @@ This is the @dfn{Destructor}. It can't fail at runtime, because
 In this chapter the important classes are being introduced.
 
 
+@page
+@node CMS
+@cindex CMS
+@fileindex src/lib/sefht/cms.c
+@fileindex src/lib/sefht/cms.h
+@section CMS
+
+@dfn{CMS} bundles some features and might be the entry point
+of the library in the future. At the moment it doesn't do much.
+
+Definitions are in @file{src/lib/sefht/cms.c}, Declarations in
+@file{src/lib/sefht/cms.h}.
+
+@node Using @code{SH_Cms}
+@tindex @code{SH_Cms} @sortas{Cms}
+@subsection Using @code{SH_Cms}
+
+@deftypefun {SH_Cms *} SH_Cms_new (struct SH_Status * status)
+create a new CMS object
+
+The returned pointer must be @code{free}d by passing it to
+@code{SH_Cms_free}. On failure @code{NULL} is returned.
+
+The parameter @code{status} must be a valid pointer to a
+@code{struct SH_Status} or @code{NULL}. It might be allocated on the
+stack. It is updated independently of the occurrence of an error.@*
+@xref{Error Handling} for more information about the @code{status}
+parameter.
+@end deftypefun
+
+@deftypefun void SH_Cms_free (SH_Cms * cms)
+free @code{cms}
+
+The parameter @code{cms} must be a valid (non-@code{NULL}) pointer to a
+@code{SH_Cms} obtained by a call to @code{SH_Cms_new}. It will be
+@code{free}d after the call.
+@end deftypefun
+
+
 @page
 @node Logging
 @cindex Logging
diff --git a/sefht.geany b/sefht.geany
index ec1576f173b76a5eb933307b0cf9aedc12a92038..249ac1018b8cea53aa73847af5cec76aae808add 100644
--- a/sefht.geany
+++ b/sefht.geany
@@ -36,8 +36,8 @@ FILE_NAME_3=84;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fp
 FILE_NAME_4=73;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2FMakefile.am;0;8
 FILE_NAME_5=19;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Fmain.c;0;8
 FILE_NAME_6=455;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2FMakefile.am;0;8
-FILE_NAME_7=38112;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fsefht.texi;0;8
-FILE_NAME_8=23594;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fcommit_messages.txt;0;8
+FILE_NAME_7=38091;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fsefht.texi;0;8
+FILE_NAME_8=9;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fcommit_messages.txt;0;8
 FILE_NAME_9=1867;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2FMakefile.am;0;8
 FILE_NAME_10=18;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fcms.c;0;8
 FILE_NAME_11=18;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fcms.h;0;8