doc FEATURE high level documentation including transition manual
diff --git a/src/plugins_exts.h b/src/plugins_exts.h
index 40fd29e..0569468 100644
--- a/src/plugins_exts.h
+++ b/src/plugins_exts.h
@@ -71,8 +71,8 @@
 /**
  * @brief Description of the extension instance substatements.
  *
- * Provided by extensions plugins to libyang's lyext_compile_stmts() to be able to correctly compile the content of extension instances.
- * Note that order of the defined records matters - just follow the values of enum ly_stmt and order the records from lower to higher values.
+ * Provided by extensions plugins to libyang to be able to correctly compile the content of extension instances.
+ * Note that order of the defined records matters - just follow the values of ::ly_stmt and order the records from lower to higher values.
  */
 struct lysc_ext_substmt {
     enum ly_stmt stmt;                     /**< allowed substatement */
@@ -88,14 +88,14 @@
 LY_ERR lys_compile_extension_instance(struct lysc_ctx *ctx, const struct lysp_ext_instance *ext, struct lysc_ext_substmt *substmts);
 
 /**
- * @brief Free the extension instance's data compiled with lys_compile_extension_instance().
+ * @brief Free the extension instance's data compiled with ::lys_compile_extension_instance().
  * TODO
  */
 void lysc_extension_instance_free(struct ly_ctx *ctx, struct lysc_ext_substmt *substmts);
 
 /**
  * @brief Duplicate the compiled extension (definition) structure.
- * TODO should this be in API? currently required for nacm_compile()
+ * TODO should this be in API? currently required by nacm_compile()
  * Instead of duplicating memory, the reference counter in the @p orig is increased.
  *
  * @param[in] orig The extension structure to duplicate.
@@ -107,7 +107,7 @@
  * @brief Update path in the compile context, which is used for logging where the compilation failed.
  *
  * @param[in] ctx Compile context with the path.
- * @param[in] parent Parent of the current node to check difference of the node's module. The current module is taken from lysc_ctx::mod.
+ * @param[in] parent Parent of the current node to check difference with the currently processed module (taken from @p ctx).
  * @param[in] name Name of the node to update path with. If NULL, the last segment is removed. If the format is `{keyword}`, the following
  * call updates the segment to the form `{keyword='name'}` (to remove this compound segment, 2 calls with NULL @p name must be used).
  */
@@ -140,7 +140,7 @@
  * @brief Callback to decide if data instance is valid according to the schema.
  *
  * The callback is used only for the extension instances placed in the following parent statements
- * (which is specified as lysc_ext_instance::parent_type):
+ * (which is specified as ::lysc_ext_instance.parent_type):
  *     - LYEXT_PAR_NODE - @p node is instance of the schema node where the extension instance was specified.
  *     - LYEXT_PAR_TPDF - @p node is instance of the schema node with the value of the typedef's type where the extension instance was specified.
  *     - LYEXT_PAR_TYPE - @p node is instance of the schema node with the value of the type where the extension instance was specified.
@@ -163,7 +163,7 @@
     lyext_clb_compile compile;          /**< Callback to compile extension instance from the parsed data */
     lyext_clb_data_validation validate; /**< Callback to decide if data instance is valid according to the schema. */
     /* TODO printers? (schema/data) */
-    lyext_clb_free free;                /**< Free the extension instance specific data created by lyext_plugin::compile callback */
+    lyext_clb_free free;                /**< Free the extension instance specific data created by ::lyext_plugin.compile callback */
 };
 
 struct lyext_plugins_list {