diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6fbdbd68a9d09725017b35b20504cc30bdd55f0d..411e5faa3ec5dc89991f1e00266f99cb6173fedf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -221,6 +221,7 @@ target_link_libraries (
   )
 # those are needed, since some headers (namely GeneratedParticleProperties.inc) are produced by python script from ParticleData.xml
 add_subdirectory (src)
+add_subdirectory (documentation)
 #
 #
 #+++++++++++++++++++++++++++++
diff --git a/documentation/CMakeLists.txt b/documentation/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b3511f84ddbc9ccdce365479323f4d5f7d798596
--- /dev/null
+++ b/documentation/CMakeLists.txt
@@ -0,0 +1,33 @@
+find_package (Doxygen OPTIONAL_COMPONENTS dot mscgen dia)
+
+if (DOXYGEN_FOUND)
+  if (NOT DOXYGEN_DOT_EXECUTABLE)
+    message (FATAL_ERROR "Found doxygen but not 'dot' command, please install graphviz or set DOXYGEN_DOT_EXECUTABLE")
+  endif()
+
+  set (DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
+  set (DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
+  set (DOXYGEN_GENERATE_HTML YES)
+  set (DOXYGEN_GENERATE_MAN YES)
+  configure_file (${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
+  message ("Start doxygen with \"make doxygen\"")
+  
+  # note the option ALL which allows to build the docs together with the application
+  add_custom_target (doxygen # ALL
+    COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+    COMMENT "Generating API documentation with Doxygen"
+    VERBATIM)
+
+  add_custom_command(TARGET doxygen POST_BUILD
+    COMMAND cd ${CMAKE_CURRENT_BINARY_DIR}/latex; pdflatex refman.tex
+    )
+  
+  install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc OPTIONAL)
+  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf DESTINATION share/doc OPTIONAL)
+         
+else (DOXYGEN_FOUND)
+  
+  message ("Doxygen need to be installed to generate the doxygen documentation")
+  
+endif (DOXYGEN_FOUND)
diff --git a/documentation/Doxyfile.in b/documentation/Doxyfile.in
index 355d1903b7026de5b1e3e6812507ec6fc7fe7c26..0c7e5ca2ffce8d669a6e89e641710fc73bd0eb5d 100644
--- a/documentation/Doxyfile.in
+++ b/documentation/Doxyfile.in
@@ -1,4 +1,4 @@
-ePROJECT_NAME           = CORSIKA 8
+PROJECT_NAME           = CORSIKA 8
 PROJECT_NUMBER         = 0.0.0
 
 GENERATE_HTML          = YES
@@ -6,12 +6,12 @@ GENERATE_LATEX         = YES
 GENERATE_XML           = YES
 
 OUTPUT_DIRECTORY       = @CMAKE_CURRENT_BINARY_DIR@/
-INPUT                  = @PROJECT_SOURCE_DIR@ @PROJECT_BINARY_DIR@/Framework
-EXCLUDE_PATTERNS       = */ThirdParty/*/* */build*/corsika/*
+INPUT                  = @PROJECT_SOURCE_DIR@/corsika @PROJECT_SOURCE_DIR@/src
+EXCLUDE_PATTERNS       = *.inl
 FULL_PATH_NAMES        = YES
 STRIP_FROM_PATH        = @PROJECT_SOURCE_DIR@
 
-FILE_PATTERNS          = *.cc *.cpp *.cxx *.h *.hpp *.dox *.inc *.md
+FILE_PATTERNS          = *.cpp *.hpp *.dox *.md
 EXTENSION_MAPPING      = inc=C++
 RECURSIVE              = YES
 
diff --git a/modules/conex b/modules/conex
index c228d89b485ed0fa0822c64d5f12e53e32d2915d..c17fc68bd35612e1b610ce2b43e84e91577b8a86 160000
--- a/modules/conex
+++ b/modules/conex
@@ -1 +1 @@
-Subproject commit c228d89b485ed0fa0822c64d5f12e53e32d2915d
+Subproject commit c17fc68bd35612e1b610ce2b43e84e91577b8a86