diff --git a/core/doc/CMakeLists.txt b/core/doc/CMakeLists.txt
index 9097ded5ff93bfbb08f439827b0a83a10965d0c1..fbf3f9ec5ccd6aac30b6bcc6fb3f3ae0595d51a9 100644
--- a/core/doc/CMakeLists.txt
+++ b/core/doc/CMakeLists.txt
@@ -2,6 +2,7 @@ set(CORE_RST
 index.rst
 argcheck.rst
 helper.rst
+setcompoundschemlib.rst
 )
 
 add_doc_source(NAME core RST ${CORE_RST})
diff --git a/core/doc/setcompoundschemlib.rst b/core/doc/setcompoundschemlib.rst
new file mode 100644
index 0000000000000000000000000000000000000000..fb0223432967ffc2ed53d542191c52fce4fb770b
--- /dev/null
+++ b/core/doc/setcompoundschemlib.rst
@@ -0,0 +1,17 @@
+:func:`~promod3.SetCompoundsChemlib`
+================================================================================
+
+.. currentmodule:: promod3
+
+This is the one function defined on the highest level of |project|'s module
+hierarchy. It is used to load an |ost_s| compound library to avoid running
+|python| code via the ancient |ost_s| wrapper. Applying this function at
+top-level, we can set a decent default by |cmake| plus the library is
+immediately available just by invoking **any** |project| module. You do not
+need to call this function, only if you want to load a different chemical
+components dictionary.
+
+.. autofunction:: SetCompoundsChemlib
+
+..  LocalWords:  func promod SetCompoundsChemlib currentmodule ost cmake
+..  LocalWords:  autofunction
diff --git a/core/pymod/__init__.py.in b/core/pymod/__init__.py.in
index 8f55113e6e06b191f3ae82e8224d5bd894dd3197..2806c35dccb9edfa85ddb19f66bd4a87683990ac 100644
--- a/core/pymod/__init__.py.in
+++ b/core/pymod/__init__.py.in
@@ -7,7 +7,7 @@ from ost import conop
 from ost import io
 
 def SetCompoundsChemlib(path_to_chemlib=@OST_COMPOUNDS_CHEMLIB_PATH@):
-    """
+    """SetCompoundsChemlib(path_to_chemlib)
     Load a compounds library. Does not return anything, the library is just
     enabled globally.
 
diff --git a/doc/conf.py.in b/doc/conf.py.in
index a0707ded34de5805af1122a80192d31314b1c75d..cced43b79bc2754ea7c7b17dec709bdfcfd0a943 100644
--- a/doc/conf.py.in
+++ b/doc/conf.py.in
@@ -38,6 +38,9 @@ extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest',
               'sphinx.ext.ifconfig', 'sphinx.ext.viewcode',
               'sphinx.ext.extlinks', 'cmake']
 
+# Check first line of docstring for signatures (autofunction)
+autodoc_docstring_signature = True
+
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
 
diff --git a/doc/developers.rst b/doc/developers.rst
index 0830ebc615e152ab515e5eb178b892ba771c5b14..a750240d77b63b5c476fcc12b03d2c08874e425d 100644
--- a/doc/developers.rst
+++ b/doc/developers.rst
@@ -9,6 +9,7 @@ Contents:
 .. toctree::
    :maxdepth: 2
 
+   core/setcompoundschemlib
    core/index
    rawmodel/index
    buildsystem