diff --git a/CMakeLists.txt b/CMakeLists.txt
index 217257b..875edc9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -333,6 +333,7 @@
     add_custom_target(doc
             COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile
             WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+    string(REPLACE ";" " " DOXY_HEADERS "${headers}")
     configure_file(Doxyfile.in Doxyfile)
 endif()
 
diff --git a/Doxyfile.in b/Doxyfile.in
index 869013f..9abd406 100644
--- a/Doxyfile.in
+++ b/Doxyfile.in
@@ -561,7 +561,7 @@
 # name. If set to NO, the members will appear in declaration order.
 # The default value is: YES.
 
-SORT_MEMBER_DOCS       = NO
+SORT_MEMBER_DOCS       = YES
 
 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
 # descriptions of file, namespace and class members alphabetically by member
@@ -569,7 +569,7 @@
 # this will also influence the order of the classes in the class list.
 # The default value is: NO.
 
-SORT_BRIEF_DOCS        = NO
+SORT_BRIEF_DOCS        = YES
 
 # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
 # (brief and detailed) documentation of class members so that constructors and
@@ -581,14 +581,14 @@
 # detailed member documentation.
 # The default value is: NO.
 
-SORT_MEMBERS_CTORS_1ST = NO
+SORT_MEMBERS_CTORS_1ST = YES
 
 # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
 # of group names into alphabetical order. If set to NO the group names will
 # appear in their defined order.
 # The default value is: NO.
 
-SORT_GROUP_NAMES       = NO
+SORT_GROUP_NAMES       = YES
 
 # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
 # fully-qualified names, including namespaces. If set to NO, the class list will
@@ -781,16 +781,7 @@
 # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
 # Note: If this tag is empty the current directory is searched.
 
-INPUT                  = ./src/libyang.h \
-			 ./src/context.h \
-			 ./src/tree.h \
-                         ./src/tree_schema.h \
-                         ./src/plugins_types.h \
-                         ./src/plugins_exts.h \
-                         ./src/tree_data.h \
-                         ./src/log.h \
-                         ./src/set.h \
-                         ./src/dict.h
+INPUT                  = @DOXY_HEADERS@
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/src/printer_schema.h b/src/printer_schema.h
index 58fff4c..1162cc2 100644
--- a/src/printer_schema.h
+++ b/src/printer_schema.h
@@ -21,11 +21,13 @@
 #include "printer.h"
 #include "tree_schema.h"
 
+/**
+ * @addtogroup schematree
+ * @{
+ */
 
 /**
  * @defgroup schemaprinterflags Schema output options
- * @ingroup schema
- *
  * @{
  */
 #define LYS_OUTPUT_NO_SUBSTMT        0x10 /**< Print only top-level/referede node information,
@@ -35,9 +37,7 @@
 //#define LYS_OUTOPT_TREE_USES       0x04 /**< Print only uses instead the resolved grouping nodes (only for tree format) */
 //#define LYS_OUTOPT_TREE_NO_LEAFREF 0x08 /**< Do not print the target of leafrefs (only for tree format) */
 
-/**
- * @} schemaprinterflags
- */
+/** @} schemaprinterflags */
 
 /**
  * @brief Schema module printer.
@@ -65,4 +65,6 @@
  */
 ssize_t lys_print_node(struct lyp_out *out, const struct lysc_node *node, LYS_OUTFORMAT format, int line_length, int options);
 
+/** @} schematree */
+
 #endif /* LY_PRINTER_SCHEMA_H_ */
diff --git a/src/tree.h b/src/tree.h
index d1313b7..e63cfc1 100644
--- a/src/tree.h
+++ b/src/tree.h
@@ -24,6 +24,14 @@
 #endif
 
 /**
+ * @defgroup trees Trees
+ *
+ * Generic macros, functions, etc. to work with both [schema](@ref schematree) and [data](@ref datatree) trees.
+ *
+ * @{
+ */
+
+/**
  * @brief Type (i.e. size) of the [sized array](@ref sizedarrays)'s size counter.
  *
  * To print the value via a print format, use LY_PRI_ARRAY_SIZE_TYPE specifier.
@@ -70,13 +78,6 @@
          ++INDEX)
 
 /**
- * @defgroup schematree Schema Tree
- * @{
- *
- * Data structures and functions to manipulate and access schema tree.
- */
-
-/**
  * @brief Get a number of records in the ARRAY.
  *
  * Does not check if array exists!
@@ -165,7 +166,7 @@
  */
 extern const char* ly_data_type2str[LY_DATA_TYPE_COUNT];
 
-/** @} */
+/** @} trees */
 
 #ifdef __cplusplus
 }
diff --git a/src/tree_data.h b/src/tree_data.h
index b3a2ab4..5d7d480 100644
--- a/src/tree_data.h
+++ b/src/tree_data.h
@@ -31,6 +31,7 @@
 
 /**
  * @defgroup datatree Data Tree
+ * @ingroup trees
  * @{
  *
  * Data structures and functions to manipulate and access instance data tree.
diff --git a/src/tree_schema.h b/src/tree_schema.h
index 3fe9466..b3139dc 100644
--- a/src/tree_schema.h
+++ b/src/tree_schema.h
@@ -32,6 +32,14 @@
 #endif
 
 /**
+ * @defgroup schematree Schema Tree
+ * @ingroup trees
+ * @{
+ *
+ * Data structures and functions to manipulate and access schema tree.
+ */
+
+/**
  * @brief Macro to iterate via all elements in a schema tree which can be instantiated in data tree
  * (skips cases, input, output). This is the opening part to the #LYSC_TREE_DFS_END - they always have to be used together.
  *
@@ -577,7 +585,7 @@
 #define LYS_DEV_ADD 2                /**< deviate type add */
 #define LYS_DEV_DELETE 3             /**< deviate type delete */
 #define LYS_DEV_REPLACE 4            /**< deviate type replace */
-/** @} */
+/** @} deviatetypes */
 
 /**
  * @brief Generic deviate structure to get type and cast to lysp_deviate_* structure
@@ -740,7 +748,6 @@
 
 /**
  * @defgroup snodeflags Schema nodes flags
- * @ingroup schematree
  * @{
  */
 #define LYS_CONFIG_W     0x01        /**< config true; also set for input children nodes */
@@ -805,7 +812,7 @@
 #define LYS_ISENUM       0x200       /**< flag to simply distinguish type in struct lysc_type_bitenum_item */
 
 #define LYS_FLAGS_COMPILED_MASK 0xff /**< mask for flags that maps to the compiled structures */
-/** @} */
+/** @} snodeflags */
 
 /**
  * @brief Generic YANG data node
@@ -1206,9 +1213,7 @@
 #define LYS_IFF_AND  0x01 /**< operand "and" */
 #define LYS_IFF_OR   0x02 /**< operand "or" */
 #define LYS_IFF_F    0x03 /**< feature */
-/**
- * @}
- */
+/** @} ifftokens */
 
 /**
  * @brief Compiled YANG revision statement
@@ -1906,8 +1911,6 @@
 
 /**
  * @defgroup sgetnextflags lys_getnext() flags
- * @ingroup schematree
- *
  * @{
  */
 #define LYS_GETNEXT_WITHCHOICE   0x01 /**< lys_getnext() option to allow returning #LYS_CHOICE nodes instead of looking into them */
@@ -2002,7 +2005,7 @@
  */
 const char *lys_nodetype2str(uint16_t nodetype);
 
-/** @} */
+/** @} schematree */
 
 #ifdef __cplusplus
 }
