tree schema FEATURE compile identities
diff --git a/src/tree_schema.h b/src/tree_schema.h
index 5c634c3..8971864 100644
--- a/src/tree_schema.h
+++ b/src/tree_schema.h
@@ -752,15 +752,15 @@
     LYEXT_SUBSTMT insubstmt;         /**< value identifying placement of the extension instance */
     uint32_t insubstmt_index;        /**< in case the instance is in a substatement that can appear multiple times,
                                           this identifies the index of the substatement for this extension instance */
+    LYEXT_PARENT parent_type;        /**< type of the parent structure */
 #if 0
-    uint8_t parent_type;             /**< #LYEXT_PAR - type of the parent structure */
     uint8_t ext_type;                /**< extension type (#LYEXT_TYPE) */
     uint8_t padding;                 /**< 32b padding */
-    struct lys_ext_instance **ext;   /**< array of pointers to the extension instances */
-    void *priv;                      /**< private caller's data, not used by libyang */
     struct lys_module *module;       /**< pointer to the extension instance's module (mandatory) */
     LYS_NODE nodetype;               /**< LYS_EXT */
 #endif
+    struct lysc_ext_instance *exts;  /**< list of the extension instances ([sized array](@ref sizedarrays)) */
+    void *priv;                      /**< private caller's data, not used by libyang */
 };
 
 /**
@@ -781,6 +781,17 @@
 };
 
 /**
+ * @brief YANG identity-stmt
+ */
+struct lysc_ident {
+    const char *name;                /**< identity name (mandatory), including possible prefix */
+    struct lysc_iffeature *iffeatures; /**< list of if-feature expressions ([sized array](@ref sizedarrays)) */
+    struct lysc_ident **derived;     /**< list of (pointers to the) derived identities ([sized array](@ref sizedarrays)) */
+    struct lysc_ext_instance *exts;  /**< list of the extension instances ([sized array](@ref sizedarrays)) */
+    uint16_t flags;                  /**< [schema node flags](@ref snodeflags) - only LYS_STATUS_ values are allowed */
+};
+
+/**
  * @brief YANG feature-stmt
  */
 struct lysc_feature {
@@ -853,7 +864,10 @@
     struct lysc_import *imports;     /**< list of imported modules ([sized array](@ref sizedarrays)) */
 
     struct lysc_feature *features;   /**< list of feature definitions ([sized array](@ref sizedarrays)) */
-
+    struct lysc_ident *identities;   /**< list of identities ([sized array](@ref sizedarrays)) */
+    struct lysc_node *data;          /**< list of module's top-level data nodes (linked list) */
+    struct lysc_action *rpcs;        /**< list of RPCs ([sized array](@ref sizedarrays)) */
+    struct lysc_notif *notifs;       /**< list of notifications ([sized array](@ref sizedarrays)) */
     struct lysc_ext_instance *exts;  /**< list of the extension instances ([sized array](@ref sizedarrays)) */
 
     uint8_t implemented:1;           /**< flag if the module is implemented, not just imported */