diff --git a/silecs-model/src/xml/DesignSchema.xsd b/silecs-model/src/xml/DesignSchema.xsd
index 65876435a644fd124c83ac4574d03e86a6853b49..6e53ecdbcac5692895127617f706647b05069a00 100644
--- a/silecs-model/src/xml/DesignSchema.xsd
+++ b/silecs-model/src/xml/DesignSchema.xsd
@@ -90,57 +90,9 @@ along with this program.  If not, see http://www.gnu.org/licenses/.-->
 						</xs:appinfo>
 					</xs:annotation>
 					<xs:complexType>
-						<xs:sequence>
-							<xs:element name="Description" type="xs:string" minOccurs="0"/>
-							<xs:element name="Block" maxOccurs="unbounded">
-								<xs:complexType>
-									<xs:sequence>
-										<xs:element name="Description" type="xs:string" minOccurs="0"/>
-										<xs:element name="Register" type="RegisterType" maxOccurs="unbounded">
-									        <xs:annotation>
-									            <xs:appinfo>
-									                <doc>
-									                    The Register is the elementary component of the SILECS data model.
-									                    &lt;br&gt;Each variable has a unique name in the scope of the class (including all blocks).
-									                </doc>
-									            </xs:appinfo>
-									        </xs:annotation>
-                                        </xs:element>
-									</xs:sequence>
-									<xs:attribute name="name" type="BlockNameType" use="required">
-										<xs:annotation>
-											<xs:appinfo>
-												Defines the name of the block that must be unique in all the class.
- 												Must not exceed 12 characters.
- 											</xs:appinfo>
-										</xs:annotation>
-									</xs:attribute>
-									<xs:attribute name="mode" use="required">
-										<xs:annotation>
-											<xs:documentation>Defines the access-mode of the block and finally of its related variables.</xs:documentation>
-										</xs:annotation>
-										<xs:simpleType>
-											<xs:restriction base="xs:string">
-												<xs:enumeration value="READ-ONLY"/>
-												<xs:enumeration value="WRITE-ONLY"/>
-												<xs:enumeration value="READ-WRITE"/>
-											</xs:restriction>
-										</xs:simpleType>
-									</xs:attribute>
-									<xs:attribute name="generateFesaProperty" type="xs:boolean" use="required">
-                                        <xs:annotation>
-                                            <xs:appinfo>
-                                                Defines if the code-generation will generate a FESA-Property and the related Actions/Events/etc for this block
-                                            </xs:appinfo>
-                                        </xs:annotation>
-                                    </xs:attribute>
-                                    <xs:attribute name="fesaPropertyName" type="BlockNameType" use="optional">
-                                        <xs:annotation>
-                                            <xs:appinfo>Defines the name of the generated Fesa-Property. If not set, the Blockname will be used.</xs:appinfo>
-                                        </xs:annotation>
-                                    </xs:attribute>
-								</xs:complexType>
-							</xs:element>
+					    <xs:sequence>
+					       <xs:element name="Description" type="xs:string" minOccurs="0"/>
+                           <xs:element name="Block" type="BlockType" maxOccurs="unbounded"/>
 						</xs:sequence>
 						<xs:attribute name="name" type="SilecsClassNameType" use="required"/>
 						<xs:attribute name="version" type="VersionType" use="required"/>
@@ -180,6 +132,54 @@ along with this program.  If not, see http://www.gnu.org/licenses/.-->
 		</xs:complexType>
 	</xs:element>
 
+<xs:complexType name="BlockType">
+	<xs:sequence>
+	    <xs:element name="Description" type="xs:string" minOccurs="0"/>
+	    <xs:element name="Register" type="RegisterType" maxOccurs="unbounded">
+	        <xs:annotation>
+	            <xs:appinfo>
+	                <doc>
+	                    The Register is the elementary component of the SILECS data model.
+	                    &lt;br&gt;Each variable has a unique name in the scope of the class (including all blocks).
+	                </doc>
+	            </xs:appinfo>
+	        </xs:annotation>
+	    </xs:element>
+	</xs:sequence>
+	<xs:attribute name="name" type="BlockNameType" use="required">
+	    <xs:annotation>
+	        <xs:appinfo>
+	            Defines the name of the block that must be unique in all the class.
+	            Must not exceed 12 characters.
+	        </xs:appinfo>
+	    </xs:annotation>
+	</xs:attribute>
+	<xs:attribute name="mode" use="required">
+	    <xs:annotation>
+	        <xs:documentation>Defines the access-mode of the block and finally of its related variables.</xs:documentation>
+	    </xs:annotation>
+	    <xs:simpleType>
+	        <xs:restriction base="xs:string">
+	            <xs:enumeration value="READ-ONLY"/>
+	            <xs:enumeration value="WRITE-ONLY"/>
+	            <xs:enumeration value="READ-WRITE"/>
+	        </xs:restriction>
+	    </xs:simpleType>
+	</xs:attribute>
+	<xs:attribute name="generateFesaProperty" type="xs:boolean" use="required">
+	    <xs:annotation>
+	        <xs:appinfo>
+	            Defines if the code-generation will generate a FESA-Property and the related Actions/Events/etc for this block
+	        </xs:appinfo>
+	    </xs:annotation>
+	</xs:attribute>
+	<xs:attribute name="fesaPropertyName" type="BlockNameType" use="optional">
+	    <xs:annotation>
+	        <xs:appinfo>Defines the name of the generated Fesa-Property. If not set, the Blockname will be used.</xs:appinfo>
+	    </xs:annotation>
+	</xs:attribute>
+</xs:complexType>
+
 <xs:complexType name="RegisterType">
     <xs:sequence>
         <xs:element name="Description" type="xs:string" minOccurs="0"/>