diff --git a/SDT/schema4.0/docs/SDT_Components.md b/SDT/schema4.0/docs/SDT_Components.md
index d93bc792e52b9d9f07aaea83e36d6a120d20ff0c..77e34741df89f88ed10790806af2f822b245e27f 100644
--- a/SDT/schema4.0/docs/SDT_Components.md
+++ b/SDT/schema4.0/docs/SDT_Components.md
@@ -9,7 +9,7 @@
 		3. [Event](#Event)
 	4. [DeviceClass](#DeviceClass)
 		1. [SubDevice](#SubDevice)
-	5. [Product](#Product)
+	5. [ProductClass](#ProductClass)
 	6. [Property](#Property)
 2. [Data Types](#DataTypes)
 	1. [DataType](#DataType)
@@ -19,7 +19,7 @@
  	3. [StructType](#StructType)
  	4. [ArrayType](#ArrayType)
  	5. [EnumType](#EnumType)
-	 	1. ExtendExclude
+	 	1. [ExtendExclude](#ExtendExclude)
 3. [Extending (Inheriting)](#Extending)
 	1. [Extend](#Extend)
 		1. [Include](#ExtendInclude)
@@ -716,14 +716,16 @@ Element of [ProductClass](#ProductClass), [ModuleClass](#ModuleClass) and [DataT
 
 ![](images/Extend.png)
 
-The *Extend* element specifies which element to extend. As a simple element it can be used to fully include the referenced element into the derived element, but it is also possible to explicitly include or exclude certain elements. Please note, that it is only possible to either **include** or **exclude** elements.
+The *Extend* element specifies which element to extend. As a simple element it can be used to fully include the referenced element into the derived element, but it is also possible to explicitly include or exclude certain elements. 
+
+Please note, that it is only possible to either [Include](#ExtendInclude) or [Exclude](#ExtendExclude) elements. When specifying *Include* elements, then all elements that should be included must be specified explicitly; all other elements are *not* included. When specifying *Exclude* elements, then all elements that should be excluded must be specified explicitly; all other elements are automatically included.
 
 #### Attributes
 - **domain** : Identifier / Reference of the [Domain](#Domain) of the extended element. Required.
 - **entity** : Name of the element in the [Domain](#Domain) that is extended. Required.
 
 #### Elements
-- **ExtendChoice** : This element is actual an element from the following list of extend choices. Please note, that it is only possible to either **include** or **exclude** elements.
+- **ExtendChoice** : This element is actual a list of elements from the following list of extend choices. Please note, that it is only possible to either **Include** or **Exclude** elements.
 	- **[Include](#ExtendInclude)**
 	- **[Exclude](#ExtendExclude)**
 
@@ -734,17 +736,40 @@ See [example in *Extending (Inheriting)*](#ExtendExample).
 
 <a name="ExtendInclude"/></a>
 ### Include
+Element of [Extend](#Extend).
+
+![](images/ExtendInclude.png)
+
+This element specifies a single element from the parent that will be included while extending.
+
+#### Attributes
+- **name** : The name that identifies the element to be included. Required.
+- **type** : The [ExtendType](#ExtendType) of the element that is included. Optional, the default is *datapoint*.
+
 
 ---
 
 <a name="ExtendExclude"/></a>
 ### Exclude
+Element of [Extend](#Extend).
 
+![](images/ExtendExclude.png)
+
+This element specifies a single element from the parent that will be excluded while extending.
+
+#### Attributes
+- **name** : The name that identifies the element to be exclued. Required.
+- **type** : The [ExtendType](#ExtendType) of the element that is excluded. Optional, the default is *datapoint*.
 
 ---
 
 <a name="ExtendType"/></a>
 ### ExendType
+Element of [ExtendInclude](#ExtendInclude) and [ExtendExclude](#ExtendExclude).
+
+![](images/ExtendType.png)
+
+This is an enumeration of element types for inclusion or exclusion while extending an element.
 
 ---
 
@@ -758,18 +783,18 @@ Element for documentation in all elements.
 
 The text inside the *Doc* element can be structure using a very limited subset of HTML elements. The possible structuring is defined in EBNF as follows:
 
-
-	Doc            = "<Doc>" docContent "</Doc" ;
-	docContent     = docText | { paragraph | image } ;
-	docText        = { text | emphasizedText | boldText | monotypeText } ;
-	emphasizedText = "<em>" text "</em>" ;
-	boldText       = "<b>" text "</b>" ;
-	monotypeText   = "<tt>" text "</tt>" ;
-	paragraph      = "<p>" docText "</p>" ;
-	image          = "<img src=" url ">" "<caption>" text "</caption>" "</img>" ;
-	url            = "\"" (* valid URL *) "\"" ;
-	text           = (* XML text element *) ;
-
+```ebnf
+Doc            = "<Doc>" docContent "</Doc" ;
+docContent     = docText | { paragraph | image } ;
+docText        = { text | emphasizedText | boldText | monotypeText } ;
+emphasizedText = "<em>" text "</em>" ;
+boldText       = "<b>" text "</b>" ;
+monotypeText   = "<tt>" text "</tt>" ;
+paragraph      = "<p>" docText "</p>" ;
+image          = "<img src=" url ">" "<caption>" text "</caption>" "</img>" ;
+url            = "\"" (* valid URL *) "\"" ;
+text           = (* XML text element *) ;
+```
 
 The intended use for each element is:
 
diff --git a/SDT/schema4.0/docs/images/ExtendExclude.png b/SDT/schema4.0/docs/images/ExtendExclude.png
new file mode 100644
index 0000000000000000000000000000000000000000..5289fd8d9ee2bbcc583ca99a156689ec9d595446
Binary files /dev/null and b/SDT/schema4.0/docs/images/ExtendExclude.png differ
diff --git a/SDT/schema4.0/docs/images/ExtendInclude.png b/SDT/schema4.0/docs/images/ExtendInclude.png
new file mode 100644
index 0000000000000000000000000000000000000000..da42f529aa97117f2e9b480b27001e5e66dbef79
Binary files /dev/null and b/SDT/schema4.0/docs/images/ExtendInclude.png differ
diff --git a/SDT/schema4.0/docs/images/ExtendType.png b/SDT/schema4.0/docs/images/ExtendType.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc68b5402603c8c68131fd95891adfad22ad22a9
Binary files /dev/null and b/SDT/schema4.0/docs/images/ExtendType.png differ