You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2020/10/14 12:34:28 UTC

[plc4x] branch feature/plc4go updated: - Moved the xml-based test documents from the java drivers into the protocol modules

This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/plc4go
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/feature/plc4go by this push:
     new 6d7b26b  - Moved the xml-based test documents from the java drivers into the protocol modules
6d7b26b is described below

commit 6d7b26bff91d936403c078987c8df6f4485df2ed
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Wed Oct 14 14:33:55 2020 +0200

    - Moved the xml-based test documents from the java drivers into the protocol modules
---
 .../language/go/GoLanguageTemplateHelper.java      |   6 +-
 .../resources/templates/go/model-template.ftlh     |  40 ++++----
 plc4j/drivers/ab-eth/pom.xml                       |   8 ++
 .../org/apache/plc4x/protocol/abeth/AbEthTest.java |   2 +-
 plc4j/drivers/ads/pom.xml                          |   8 ++
 .../org/apache/plc4x/protocol/ads/AdsDriverIT.java |   2 +-
 .../protocol/ads/AdsSerializerParserTest.java      |   2 +-
 plc4j/drivers/eip/pom.xml                          |   8 ++
 .../java/eip/readwrite/EIPDriverTestsuite.java     |   2 +-
 .../readwrite/EIPParserSerializerTestsuite.java    |   2 +-
 plc4j/drivers/firmata/pom.xml                      |   8 ++
 .../readwrite/FirmataParserSerializerTest.java     |   2 +-
 plc4j/drivers/knxnetip/pom.xml                     |   8 ++
 .../apache/plc4x/java/knxnetip/KNXNetIpTest.java   |   2 +-
 plc4j/drivers/modbus/pom.xml                       |   8 ++
 .../org/apache/plc4x/java/modbus/ModbusIOTest.java |   2 +-
 plc4j/drivers/s7/pom.xml                           |   8 ++
 .../apache/plc4x/java/s7/readwrite/S7DriverIT.java |   2 +-
 .../java/s7/readwrite/S7ParserSerializerTest.java  |   2 +-
 plc4j/pom.xml                                      |   1 +
 .../ParserSerializerTestsuiteRunner.java           |   3 +
 .../protocols/abeth/ParserSerializerTestsuite.xml  |   0
 .../resources/protocols/ads/DriverTestsuite.xml    |   0
 .../protocols/ads/ParserSerializerTestsuite.xml    |   0
 .../protocols/df1/ParserSerializerTestsuite.xml    |   0
 .../resources/protocols/eip/DriverTestsuite.xml    |   0
 .../protocols/eip/ParserSerializerTestsuite.xml    |   0
 .../firmata/ParserSerializerTestsuite.xml          |   0
 .../knxnetip/ParserSerializerTestsuite.xml         |   0
 .../protocols/modbus/ParserSerializerTestsuite.xml |   0
 protocols/pom.xml                                  |  22 ++++-
 .../resources/protocols/s7/DriverTestsuite.xml     |   0
 .../protocols/s7/ParserSerializerTestsuite.xml     |   0
 sandbox/plc4go/cmd/main/drivers/modbus_test.go     |  57 +++++++++++
 .../plc4go/bacnetip/readwrite/model/APDUAbort.go   |  14 +--
 .../bacnetip/readwrite/model/APDUComplexAck.go     |  36 +++----
 .../readwrite/model/APDUConfirmedRequest.go        |  48 +++++-----
 .../plc4go/bacnetip/readwrite/model/APDUError.go   |  12 +--
 .../plc4go/bacnetip/readwrite/model/APDUReject.go  |  10 +-
 .../bacnetip/readwrite/model/APDUSegmentAck.go     |  22 ++---
 .../bacnetip/readwrite/model/APDUSimpleAck.go      |  10 +-
 .../readwrite/model/APDUUnconfirmedRequest.go      |   8 +-
 .../bacnetip/readwrite/model/BACnetAddress.go      |  16 ++--
 ...firmedServiceRequestConfirmedCOVNotification.go |  46 ++++-----
 .../BACnetConfirmedServiceRequestReadProperty.go   |  24 ++---
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |  32 +++----
 .../BACnetConfirmedServiceRequestWriteProperty.go  |  40 ++++----
 .../readwrite/model/BACnetErrorReadProperty.go     |  30 +++---
 .../model/BACnetServiceAckReadProperty.go          |  30 +++---
 .../plc4go/bacnetip/readwrite/model/BACnetTag.go   |  24 ++---
 .../model/BACnetTagApplicationBitString.go         |  24 ++---
 .../readwrite/model/BACnetTagApplicationBoolean.go |   8 +-
 .../model/BACnetTagApplicationCharacterString.go   |   8 +-
 .../readwrite/model/BACnetTagApplicationDate.go    |   8 +-
 .../readwrite/model/BACnetTagApplicationDouble.go  |  14 +--
 .../model/BACnetTagApplicationEnumerated.go        |  20 ++--
 .../readwrite/model/BACnetTagApplicationNull.go    |   8 +-
 .../model/BACnetTagApplicationObjectIdentifier.go  |   8 +-
 .../model/BACnetTagApplicationOctetString.go       |   8 +-
 .../readwrite/model/BACnetTagApplicationReal.go    |  14 +--
 .../model/BACnetTagApplicationSignedInteger.go     |  20 ++--
 .../readwrite/model/BACnetTagApplicationTime.go    |   8 +-
 .../model/BACnetTagApplicationUnsignedInteger.go   |  20 ++--
 .../bacnetip/readwrite/model/BACnetTagContext.go   |  20 ++--
 .../readwrite/model/BACnetTagWithContent.go        |  46 ++++-----
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |  32 +++----
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |  20 ++--
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |  26 ++---
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  |  30 +++---
 .../bacnetip/readwrite/model/BVLCForwardedNPDU.go  |  22 ++---
 .../readwrite/model/BVLCOriginalBroadcastNPDU.go   |   8 +-
 .../readwrite/model/BVLCOriginalUnicastNPDU.go     |   8 +-
 .../plc4go/bacnetip/readwrite/model/NLM.go         |   8 +-
 .../readwrite/model/NLMIAmRouterToNetwork.go       |  14 +--
 .../readwrite/model/NLMWhoIsRouterToNetwork.go     |  14 +--
 .../plc4go/bacnetip/readwrite/model/NPDU.go        | 106 ++++++++++-----------
 .../CEMIAdditionalInformationBusmonitorInfo.go     |  26 ++---
 .../CEMIAdditionalInformationRelativeTimestamp.go  |   8 +-
 .../knxnetip/readwrite/model/CEMIBusmonInd.go      |  22 ++---
 .../plc4go/knxnetip/readwrite/model/CEMIDataCon.go |  22 ++---
 .../knxnetip/readwrite/model/CEMIDataFrame.go      |  88 ++++++++---------
 .../plc4go/knxnetip/readwrite/model/CEMIDataInd.go |  22 ++---
 .../plc4go/knxnetip/readwrite/model/CEMIDataReq.go |  22 ++---
 .../plc4go/knxnetip/readwrite/model/CEMIFrame.go   |  16 ++--
 .../knxnetip/readwrite/model/CEMIFrameAck.go       |   8 +-
 .../knxnetip/readwrite/model/CEMIFrameData.go      |  68 ++++++-------
 .../knxnetip/readwrite/model/CEMIFrameDataExt.go   |  72 +++++++-------
 .../readwrite/model/CEMIFramePollingData.go        |   8 +-
 .../readwrite/model/CEMIFramePollingDataExt.go     |   8 +-
 .../knxnetip/readwrite/model/CEMIMPropReadCon.go   |  26 ++---
 .../knxnetip/readwrite/model/CEMIMPropReadReq.go   |  22 ++---
 .../knxnetip/readwrite/model/ConnectionRequest.go  |  20 ++--
 ...ConnectionRequestInformationTunnelConnection.go |   6 +-
 .../knxnetip/readwrite/model/ConnectionResponse.go |  30 +++---
 .../ConnectionResponseDataBlockTunnelConnection.go |   8 +-
 .../readwrite/model/ConnectionStateRequest.go      |  12 +--
 .../readwrite/model/ConnectionStateResponse.go     |  10 +-
 .../knxnetip/readwrite/model/DIBDeviceInfo.go      |  60 ++++++------
 .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go |  16 ++--
 .../knxnetip/readwrite/model/DescriptionRequest.go |   8 +-
 .../readwrite/model/DescriptionResponse.go         |  14 +--
 .../readwrite/model/DeviceConfigurationAck.go      |   8 +-
 .../model/DeviceConfigurationAckDataBlock.go       |  14 +--
 .../readwrite/model/DeviceConfigurationRequest.go  |  14 +--
 .../model/DeviceConfigurationRequestDataBlock.go   |  10 +-
 .../knxnetip/readwrite/model/DeviceStatus.go       |   6 +-
 .../knxnetip/readwrite/model/DisconnectRequest.go  |  12 +--
 .../knxnetip/readwrite/model/DisconnectResponse.go |  10 +-
 .../readwrite/model/HPAIControlEndpoint.go         |  16 ++--
 .../knxnetip/readwrite/model/HPAIDataEndpoint.go   |  16 ++--
 .../readwrite/model/HPAIDiscoveryEndpoint.go       |  16 ++--
 .../plc4go/knxnetip/readwrite/model/IPAddress.go   |  12 +--
 .../plc4go/knxnetip/readwrite/model/KNXAddress.go  |  14 +--
 .../readwrite/model/KNXGroupAddress2Level.go       |  10 +-
 .../readwrite/model/KNXGroupAddress3Level.go       |  14 +--
 .../readwrite/model/KNXGroupAddressFreeLevel.go    |   6 +-
 .../knxnetip/readwrite/model/KnxNetIpCore.go       |   6 +-
 .../readwrite/model/KnxNetIpDeviceManagement.go    |   6 +-
 .../knxnetip/readwrite/model/KnxNetIpTunneling.go  |   6 +-
 .../knxnetip/readwrite/model/KnxNetObjectServer.go |   6 +-
 .../model/KnxNetRemoteConfigurationAndDiagnosis.go |   6 +-
 .../readwrite/model/KnxNetRemoteLogging.go         |   6 +-
 .../plc4go/knxnetip/readwrite/model/MACAddress.go  |  12 +--
 .../model/ProjectInstallationIdentifier.go         |  10 +-
 .../knxnetip/readwrite/model/RelativeTimestamp.go  |   6 +-
 .../knxnetip/readwrite/model/SearchRequest.go      |   8 +-
 .../knxnetip/readwrite/model/SearchResponse.go     |  20 ++--
 .../knxnetip/readwrite/model/TunnelingRequest.go   |  14 +--
 .../readwrite/model/TunnelingRequestDataBlock.go   |  10 +-
 .../knxnetip/readwrite/model/TunnelingResponse.go  |   8 +-
 .../readwrite/model/TunnelingResponseDataBlock.go  |  14 +--
 .../knxnetip/readwrite/model/UnknownMessage.go     |  12 +--
 .../readwrite/model/ModbusPDUDiagnosticRequest.go  |  10 +-
 .../modbus/readwrite/model/ModbusPDUError.go       |   6 +-
 .../model/ModbusPDUGetComEventLogResponse.go       |  26 ++---
 .../ModbusPDUMaskWriteHoldingRegisterRequest.go    |  14 +--
 .../ModbusPDUMaskWriteHoldingRegisterResponse.go   |  14 +--
 .../readwrite/model/ModbusPDUReadCoilsRequest.go   |  10 +-
 .../readwrite/model/ModbusPDUReadCoilsResponse.go  |  14 +--
 .../model/ModbusPDUReadDiscreteInputsRequest.go    |  10 +-
 .../model/ModbusPDUReadDiscreteInputsResponse.go   |  14 +--
 .../model/ModbusPDUReadExceptionStatusResponse.go  |   6 +-
 .../model/ModbusPDUReadFifoQueueRequest.go         |   6 +-
 .../model/ModbusPDUReadFifoQueueResponse.go        |  16 ++--
 .../model/ModbusPDUReadFileRecordRequest.go        |  14 +--
 .../model/ModbusPDUReadFileRecordRequestItem.go    |  18 ++--
 .../model/ModbusPDUReadFileRecordResponse.go       |  14 +--
 .../model/ModbusPDUReadFileRecordResponseItem.go   |  18 ++--
 .../model/ModbusPDUReadHoldingRegistersRequest.go  |  10 +-
 .../model/ModbusPDUReadHoldingRegistersResponse.go |  14 +--
 .../model/ModbusPDUReadInputRegistersRequest.go    |  10 +-
 .../model/ModbusPDUReadInputRegistersResponse.go   |  14 +--
 ...sPDUReadWriteMultipleHoldingRegistersRequest.go |  30 +++---
 ...PDUReadWriteMultipleHoldingRegistersResponse.go |  14 +--
 .../model/ModbusPDUReportServerIdResponse.go       |  14 +--
 .../model/ModbusPDUWriteFileRecordRequest.go       |  14 +--
 .../model/ModbusPDUWriteFileRecordRequestItem.go   |  26 ++---
 .../model/ModbusPDUWriteFileRecordResponse.go      |  14 +--
 .../model/ModbusPDUWriteFileRecordResponseItem.go  |  26 ++---
 .../model/ModbusPDUWriteMultipleCoilsRequest.go    |  22 ++---
 .../model/ModbusPDUWriteMultipleCoilsResponse.go   |  10 +-
 ...odbusPDUWriteMultipleHoldingRegistersRequest.go |  22 ++---
 ...dbusPDUWriteMultipleHoldingRegistersResponse.go |  10 +-
 .../model/ModbusPDUWriteSingleCoilRequest.go       |  10 +-
 .../model/ModbusPDUWriteSingleCoilResponse.go      |  10 +-
 .../model/ModbusPDUWriteSingleRegisterRequest.go   |  10 +-
 .../model/ModbusPDUWriteSingleRegisterResponse.go  |  10 +-
 .../modbus/readwrite/model/ModbusSerialADU.go      |  20 ++--
 .../plc4go/modbus/readwrite/model/ModbusTcpADU.go  |  18 ++--
 .../plc4go/s7/readwrite/model/COTPPacket.go        |  22 ++---
 .../readwrite/model/COTPPacketConnectionRequest.go |  18 ++--
 .../model/COTPPacketConnectionResponse.go          |  18 ++--
 .../plc4go/s7/readwrite/model/COTPPacketData.go    |  14 +--
 .../readwrite/model/COTPPacketDisconnectRequest.go |  18 ++--
 .../model/COTPPacketDisconnectResponse.go          |  14 +--
 .../s7/readwrite/model/COTPPacketTpduError.go      |  14 +--
 .../s7/readwrite/model/COTPParameterCalledTsap.go  |   6 +-
 .../s7/readwrite/model/COTPParameterCallingTsap.go |   6 +-
 .../s7/readwrite/model/COTPParameterChecksum.go    |   6 +-
 ...COTPParameterDisconnectAdditionalInformation.go |  12 +--
 .../s7/readwrite/model/COTPParameterTpduSize.go    |   6 +-
 .../plc4go/s7/readwrite/model/S7AddressAny.go      |  26 ++---
 .../plc4go/s7/readwrite/model/S7Message.go         |  28 +++---
 .../plc4go/s7/readwrite/model/S7MessageRequest.go  |   6 +-
 .../plc4go/s7/readwrite/model/S7MessageResponse.go |  16 ++--
 .../s7/readwrite/model/S7MessageResponseData.go    |  16 ++--
 .../plc4go/s7/readwrite/model/S7MessageUserData.go |   6 +-
 .../readwrite/model/S7ParameterReadVarRequest.go   |  14 +--
 .../readwrite/model/S7ParameterReadVarResponse.go  |   6 +-
 .../model/S7ParameterSetupCommunication.go         |  14 +--
 .../s7/readwrite/model/S7ParameterUserData.go      |  14 +--
 .../model/S7ParameterUserDataItemCPUFunctions.go   |  46 ++++-----
 .../readwrite/model/S7ParameterWriteVarRequest.go  |  14 +--
 .../readwrite/model/S7ParameterWriteVarResponse.go |   6 +-
 .../s7/readwrite/model/S7PayloadReadVarResponse.go |  20 ++--
 .../plc4go/s7/readwrite/model/S7PayloadUserData.go |  18 ++--
 .../s7/readwrite/model/S7PayloadUserDataItem.go    |  18 ++--
 ...PayloadUserDataItemCpuFunctionReadSzlRequest.go |   8 +-
 ...ayloadUserDataItemCpuFunctionReadSzlResponse.go |  22 ++---
 .../s7/readwrite/model/S7PayloadWriteVarRequest.go |  20 ++--
 .../readwrite/model/S7PayloadWriteVarResponse.go   |  16 ++--
 .../s7/readwrite/model/S7VarPayloadDataItem.go     |  26 ++---
 .../s7/readwrite/model/S7VarPayloadStatusItem.go   |   6 +-
 .../model/S7VarRequestParameterItemAddress.go      |  10 +-
 .../plc4go/s7/readwrite/model/SzlDataTreeItem.go   |  28 +++---
 .../internal/plc4go/s7/readwrite/model/SzlId.go    |  14 +--
 .../plc4go/s7/readwrite/model/TPKTPacket.go        |  10 +-
 sandbox/test-java-df1-driver/pom.xml               |  40 +++++---
 .../protocol/df1/Df1ParserSerializerTest.java      |   2 +-
 209 files changed, 1690 insertions(+), 1551 deletions(-)

diff --git a/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java b/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
index 75feeb6..60f9612 100644
--- a/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
+++ b/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
@@ -453,7 +453,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
             }
             sb.append(typeLiteral.getName());
             sb.append("(").append(toVariableExpression(typeReference, (VariableLiteral) vl.getArgs().get(0), parserArguments, serializerArguments, serialize, suppressPointerAccess)).append(")");
-            return sb.toString() + ((vl.getChild() != null) ? "." + toVariableExpression(typeReference, vl.getChild(), parserArguments, serializerArguments, false, suppressPointerAccess) : "");
+            return sb.toString() + ((vl.getChild() != null) ? "." + StringUtils.capitalize(toVariableExpression(typeReference, vl.getChild(), parserArguments, serializerArguments, false, suppressPointerAccess)) : "");
         } else if ("STATIC_CALL".equals(vl.getName())) {
             StringBuilder sb = new StringBuilder();
             if (!(vl.getArgs().get(0) instanceof StringLiteral)) {
@@ -592,10 +592,10 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
         // If the current term is an optional type, we need to add pointer access
         // (Except if we're doing a nil/not-nil check)
         if((getFieldForNameFromCurrent(vl.getName()) instanceof OptionalField) && !suppressPointerAccess) {
-            return "(*" + (serialize ? "m." : "") + vl.getName() + ")" + ((vl.getChild() != null) ?
+            return "(*" + (serialize ? "m." + StringUtils.capitalize(vl.getName()) : vl.getName()) + ")" + ((vl.getChild() != null) ?
                 "." + toVariableExpression(typeReference, vl.getChild(), parserArguments, serializerArguments, false, suppressPointerAccess) : "");
         }
-        return (serialize ? "m." : "") + vl.getName() + ((vl.getChild() != null) ?
+        return (serialize ? "m." + StringUtils.capitalize(vl.getName()) : vl.getName()) + ((vl.getChild() != null) ?
             "." + toVariableExpression(typeReference, vl.getChild(), parserArguments, serializerArguments, false, suppressPointerAccess) : "");
     }
 
diff --git a/build-utils/language-go/src/main/resources/templates/go/model-template.ftlh b/build-utils/language-go/src/main/resources/templates/go/model-template.ftlh
index cb68147..9798874 100644
--- a/build-utils/language-go/src/main/resources/templates/go/model-template.ftlh
+++ b/build-utils/language-go/src/main/resources/templates/go/model-template.ftlh
@@ -82,7 +82,7 @@ type ${type.name} struct {
 <#-- Prpoerty fields are fields that require a property in the pojo -->
 <#if type.propertyFields?has_content>
 <#list type.propertyFields as field>
-    ${field.name} <#if field.typeName == "optional">*</#if><#if field.loopType??>[]</#if><#if helper.isComplexTypeReference(field.type)>I</#if>${helper.getLanguageTypeNameForField(field)}
+    ${field.name?cap_first} <#if field.typeName == "optional">*</#if><#if field.loopType??>[]</#if><#if helper.isComplexTypeReference(field.type)>I</#if>${helper.getLanguageTypeNameForField(field)}
 </#list>
 </#if>
 <#--
@@ -141,14 +141,14 @@ func ${type.name}${discriminatorName?cap_first}(m I${type.name}) ${helper.getLan
 <#else>
 <#if type.parentType??>func (m ${type.name}) initialize(<#list type.parentType.getAllPropertyFields() as field>${field.name} <#if field.typeName == "optional">*</#if><#if field.loopType??>[]</#if><#if helper.isComplexTypeReference(field.type)>I</#if>${helper.getLanguageTypeNameForField(field)}<#sep>, </#sep></#list>) spi.Message {
     <#list type.parentType.getAllPropertyFields() as field>
-    m.${field.name} = ${field.name}
+    m.${field.name?cap_first} = ${field.name}
     </#list>
     return m
 }
 </#if>
 
 func New${type.name}(<#list type.getPropertyFields() as field>${field.name} <#if field.typeName == "optional">*</#if><#if field.loopType??>[]</#if><#if helper.isComplexTypeReference(field.type)>I</#if>${helper.getLanguageTypeNameForField(field)}<#sep>, </#sep></#list>) <#if type.parentType??>${type.parentType.name}Initializer<#else>spi.Message</#if> {
-    return &${type.name}{<#list type.getPropertyFields() as field>${field.name}: ${field.name}<#sep>, </#sep></#list>}
+    return &${type.name}{<#list type.getPropertyFields() as field>${field.name?cap_first}: ${field.name}<#sep>, </#sep></#list>}
 }
 </#if>
 
@@ -180,12 +180,12 @@ func (m ${type.name}) LengthInBits() uint16 {
                 <#assign arrayField = field>
 
     // Array field
-    if len(m.${arrayField.name}) > 0 {
+    if len(m.${arrayField.name?cap_first}) > 0 {
                 <#if helper.isSimpleTypeReference(arrayField.type)>
                     <#assign simpleTypeReference = arrayField.type>
-        lengthInBits += ${simpleTypeReference.sizeInBits} * uint16(len(m.${arrayField.name}))
+        lengthInBits += ${simpleTypeReference.sizeInBits} * uint16(len(m.${arrayField.name?cap_first}))
                 <#else>
-        for _, element := range m.${arrayField.name} {
+        for _, element := range m.${arrayField.name?cap_first} {
             lengthInBits += element.LengthInBits()
         }
                 </#if>
@@ -241,12 +241,12 @@ func (m ${type.name}) LengthInBits() uint16 {
                 <#assign optionalField = field>
 
     // Optional Field (${optionalField.name})
-    if m.${optionalField.name} != nil {
+    if m.${optionalField.name?cap_first} != nil {
                 <#if helper.isSimpleTypeReference(optionalField.type)>
                     <#assign simpleTypeReference = optionalField.type>
         lengthInBits += ${simpleTypeReference.sizeInBits}
                 <#else>
-        lengthInBits += (*m.${optionalField.name}).LengthInBits()
+        lengthInBits += (*m.${optionalField.name?cap_first}).LengthInBits()
                 </#if>
     }
                 <#break>
@@ -276,7 +276,7 @@ func (m ${type.name}) LengthInBits() uint16 {
                     <#assign simpleTypeReference = simpleField.type>
     lengthInBits += ${simpleTypeReference.sizeInBits}
                 <#else>
-    lengthInBits += m.${simpleField.name}.LengthInBits()
+    lengthInBits += m.${simpleField.name?cap_first}.LengthInBits()
                 </#if>
                 <#break>
             <#case "switch">
@@ -690,12 +690,12 @@ func (m ${type.name}) Serialize(io spi.WriteBuffer<#if helper.getSerializerArgum
                 <#assign simpleTypeReference = arrayField.type>
 
     // Array Field (${arrayField.name})
-    if m.${arrayField.name} != nil {
+    if m.${arrayField.name?cap_first} != nil {
                 <#if helper.isComplexTypeReference(arrayField.type) && (helper.needsVariable(arrayField, "curItem", true) || helper.needsVariable(arrayField, "lastItem", true))>
-        itemCount := uint16(len(m.${arrayField.name}))
+        itemCount := uint16(len(m.${arrayField.name?cap_first}))
         var curItem uint16 = 0
                 </#if>
-        for _, _element := range m.${arrayField.name} {
+        for _, _element := range m.${arrayField.name?cap_first} {
                 <#if helper.isSimpleTypeReference(arrayField.type)>
                     <#assign simpleTypeReference = arrayField.type>
             _elementErr := ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "_element")}
@@ -756,7 +756,7 @@ func (m ${type.name}) Serialize(io spi.WriteBuffer<#if helper.getSerializerArgum
                 <#assign enumField = field>
 
     // Enum field (${enumField.name})
-    ${enumField.name} := Cast${helper.getLanguageTypeNameForField(field)}(m.${enumField.name})
+    ${enumField.name} := Cast${helper.getLanguageTypeNameForField(field)}(m.${enumField.name?cap_first})
     _${enumField.name}Err := ${enumField.name}.Serialize(io)
     if _${enumField.name}Err != nil {
         return errors.New("Error serializing '${enumField.name}' field " + _${enumField.name}Err.Error())
@@ -777,8 +777,8 @@ func (m ${type.name}) Serialize(io spi.WriteBuffer<#if helper.getSerializerArgum
                 <#assign manualArrayField = field>
 
     // Manual Array Field (${manualArrayField.name})
-    if m.${manualArrayField.name} != nil {
-        for(${helper.getLanguageTypeNameForField(field)} element : m.${manualArrayField.name}) {
+    if m.${manualArrayField.name?cap_first} != nil {
+        for(${helper.getLanguageTypeNameForField(field)} element : m.${manualArrayField.name?cap_first}) {
             ${helper.toSerializationExpression(manualArrayField, manualArrayField.serializeExpression, type.parserArguments)}
         }
     }
@@ -794,14 +794,14 @@ func (m ${type.name}) Serialize(io spi.WriteBuffer<#if helper.getSerializerArgum
 
     // Optional Field (${optionalField.name}) (Can be skipped, if the value is null)
     var ${optionalField.name} *<#if helper.isComplexTypeReference(optionalField.type)>I</#if>${helper.getLanguageTypeNameForField(field)} = nil
-    if m.${optionalField.name} != nil {
+    if m.${optionalField.name?cap_first} != nil {
                 <#if helper.isSimpleTypeReference(optionalField.type)>
                     <#assign simpleTypeReference = optionalField.type>
-        ${optionalField.name} = m.${optionalField.name}
+        ${optionalField.name} = m.${optionalField.name?cap_first}
         _${optionalField.name}Err := ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "*(" + optionalField.name + ")")}
                 <#else>
                     <#assign complexTypeReference = optionalField.type>
-        ${optionalField.name} = m.${optionalField.name}
+        ${optionalField.name} = m.${optionalField.name?cap_first}
         _${optionalField.name}Err := CastI${helper.getLanguageTypeNameForField(field)}(*${optionalField.name}).Serialize(io)
                 </#if>
         if _${optionalField.name}Err != nil {
@@ -843,11 +843,11 @@ func (m ${type.name}) Serialize(io spi.WriteBuffer<#if helper.getSerializerArgum
     // Simple Field (${simpleField.name})
                 <#if helper.isSimpleTypeReference(simpleField.type)>
                     <#assign simpleTypeReference = simpleField.type>
-    ${simpleField.name} := ${helper.getLanguageTypeNameForField(field)}(m.${simpleField.name})
+    ${simpleField.name} := ${helper.getLanguageTypeNameForField(field)}(m.${simpleField.name?cap_first})
     _${simpleField.name}Err := ${helper.getWriteBufferWriteMethodCall(simpleTypeReference, "(" + simpleField.name + ")")}
                 <#else>
                     <#assign complexTypeReference = simpleField.type>
-    ${simpleField.name} := CastI${helper.getLanguageTypeNameForField(field)}(m.${simpleField.name})
+    ${simpleField.name} := CastI${helper.getLanguageTypeNameForField(field)}(m.${simpleField.name?cap_first})
     _${simpleField.name}Err := ${simpleField.name}.Serialize(io)
                 </#if>
     if _${simpleField.name}Err != nil {
diff --git a/plc4j/drivers/ab-eth/pom.xml b/plc4j/drivers/ab-eth/pom.xml
index 6ccef89..e09381b 100644
--- a/plc4j/drivers/ab-eth/pom.xml
+++ b/plc4j/drivers/ab-eth/pom.xml
@@ -163,6 +163,14 @@
       <!-- Scope is 'provided' as this way it's not shipped with the driver -->
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.plc4x</groupId>
+      <artifactId>plc4x-protocols-ab-eth</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <classifier>tests</classifier>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/plc4j/drivers/ab-eth/src/test/java/org/apache/plc4x/protocol/abeth/AbEthTest.java b/plc4j/drivers/ab-eth/src/test/java/org/apache/plc4x/protocol/abeth/AbEthTest.java
index 58dcc31..51b416b 100644
--- a/plc4j/drivers/ab-eth/src/test/java/org/apache/plc4x/protocol/abeth/AbEthTest.java
+++ b/plc4j/drivers/ab-eth/src/test/java/org/apache/plc4x/protocol/abeth/AbEthTest.java
@@ -24,7 +24,7 @@ import org.apache.plc4x.test.parserserializer.ParserSerializerTestsuiteRunner;
 public class AbEthTest extends ParserSerializerTestsuiteRunner {
 
     public AbEthTest() {
-        super("/testsuite/AbEthTestsuite.xml");
+        super("/protocols/abeth/ParserSerializerTestsuite.xml");
     }
 
 }
diff --git a/plc4j/drivers/ads/pom.xml b/plc4j/drivers/ads/pom.xml
index dd7f451..6aaa921 100644
--- a/plc4j/drivers/ads/pom.xml
+++ b/plc4j/drivers/ads/pom.xml
@@ -201,6 +201,14 @@
       <!-- Scope is 'provided' as this way it's not shipped with the driver -->
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.plc4x</groupId>
+      <artifactId>plc4x-protocols-ads</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <classifier>tests</classifier>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/AdsDriverIT.java b/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/AdsDriverIT.java
index 75b5ed8..01455b2 100644
--- a/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/AdsDriverIT.java
+++ b/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/AdsDriverIT.java
@@ -23,7 +23,7 @@ import org.apache.plc4x.test.driver.DriverTestsuiteRunner;
 public class AdsDriverIT extends DriverTestsuiteRunner {
 
     public AdsDriverIT() {
-        super("/testsuite/AdsDriverIT.xml");
+        super("/protocols/ads/DriverTestsuite.xml");
     }
 
 }
diff --git a/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/AdsSerializerParserTest.java b/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/AdsSerializerParserTest.java
index 584a619..17a82fe 100644
--- a/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/AdsSerializerParserTest.java
+++ b/plc4j/drivers/ads/src/test/java/org/apache/plc4x/protocol/ads/AdsSerializerParserTest.java
@@ -24,7 +24,7 @@ import org.apache.plc4x.test.parserserializer.ParserSerializerTestsuiteRunner;
 public class AdsSerializerParserTest extends ParserSerializerTestsuiteRunner {
 
     public AdsSerializerParserTest() {
-        super("/testsuite/AdsParserSerializerTest.xml");
+        super("/protocols/ads/ParserSerializerTestsuite.xml");
     }
 
 }
diff --git a/plc4j/drivers/eip/pom.xml b/plc4j/drivers/eip/pom.xml
index af324c3..5888bd8 100644
--- a/plc4j/drivers/eip/pom.xml
+++ b/plc4j/drivers/eip/pom.xml
@@ -163,6 +163,14 @@
       <!-- Scope is 'provided' as this way it's not shipped with the driver -->
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.plc4x</groupId>
+      <artifactId>plc4x-protocols-eip</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <classifier>tests</classifier>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/readwrite/EIPDriverTestsuite.java b/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/readwrite/EIPDriverTestsuite.java
index 19a5a9b..1acd45b 100644
--- a/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/readwrite/EIPDriverTestsuite.java
+++ b/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/readwrite/EIPDriverTestsuite.java
@@ -23,7 +23,7 @@ import org.apache.plc4x.test.driver.DriverTestsuiteRunner;
 public class EIPDriverTestsuite extends DriverTestsuiteRunner {
 
     public EIPDriverTestsuite() {
-        super("/testsuite/EIPDriverTestsuite.xml");
+        super("/protocols/eip/DriverTestsuite.xml");
     }
 
 }
diff --git a/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/readwrite/EIPParserSerializerTestsuite.java b/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/readwrite/EIPParserSerializerTestsuite.java
index b734eb5..f888bc4 100644
--- a/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/readwrite/EIPParserSerializerTestsuite.java
+++ b/plc4j/drivers/eip/src/test/java/org/apache/plc4x/java/eip/readwrite/EIPParserSerializerTestsuite.java
@@ -23,7 +23,7 @@ import org.apache.plc4x.test.parserserializer.ParserSerializerTestsuiteRunner;
 public class EIPParserSerializerTestsuite extends ParserSerializerTestsuiteRunner {
 
     public EIPParserSerializerTestsuite() {
-        super("/testsuite/EIPParserSerializerTestsuite.xml");
+        super("/protocols/ads/ParserSerializerTestsuite.xml");
     }
 
 }
diff --git a/plc4j/drivers/firmata/pom.xml b/plc4j/drivers/firmata/pom.xml
index e00da9c..3b9643b 100644
--- a/plc4j/drivers/firmata/pom.xml
+++ b/plc4j/drivers/firmata/pom.xml
@@ -165,6 +165,14 @@
       <!-- Scope is 'provided' as this way it's not shipped with the driver -->
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.plc4x</groupId>
+      <artifactId>plc4x-protocols-firmata</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <classifier>tests</classifier>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/plc4j/drivers/firmata/src/test/java/org/apache/plc4x/java/firmata/readwrite/FirmataParserSerializerTest.java b/plc4j/drivers/firmata/src/test/java/org/apache/plc4x/java/firmata/readwrite/FirmataParserSerializerTest.java
index 4d159fe..e7f3468 100644
--- a/plc4j/drivers/firmata/src/test/java/org/apache/plc4x/java/firmata/readwrite/FirmataParserSerializerTest.java
+++ b/plc4j/drivers/firmata/src/test/java/org/apache/plc4x/java/firmata/readwrite/FirmataParserSerializerTest.java
@@ -23,7 +23,7 @@ import org.apache.plc4x.test.parserserializer.ParserSerializerTestsuiteRunner;
 public class FirmataParserSerializerTest extends ParserSerializerTestsuiteRunner {
 
     public FirmataParserSerializerTest() {
-        super("/testsuite/FirmataParserSerializerTest.xml");
+        super("/protocols/firmata/ParserSerializerTestsuite.xml");
     }
 
 }
diff --git a/plc4j/drivers/knxnetip/pom.xml b/plc4j/drivers/knxnetip/pom.xml
index 72a4c2f..3c02469 100644
--- a/plc4j/drivers/knxnetip/pom.xml
+++ b/plc4j/drivers/knxnetip/pom.xml
@@ -207,6 +207,14 @@
       <!-- Scope is 'provided' as this way it's not shipped with the driver -->
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.plc4x</groupId>
+      <artifactId>plc4x-protocols-knxnetip</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <classifier>tests</classifier>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/KNXNetIpTest.java b/plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/KNXNetIpTest.java
index f993019..d6c89d8 100644
--- a/plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/KNXNetIpTest.java
+++ b/plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/KNXNetIpTest.java
@@ -24,7 +24,7 @@ import org.apache.plc4x.test.parserserializer.ParserSerializerTestsuiteRunner;
 public class KNXNetIpTest extends ParserSerializerTestsuiteRunner {
 
     public KNXNetIpTest() {
-        super("/testsuite/KNXNetIPTestsuite.xml");
+        super("/protocols/knxnetip/ParserSerializerTestsuite.xml");
     }
 
 }
diff --git a/plc4j/drivers/modbus/pom.xml b/plc4j/drivers/modbus/pom.xml
index ae4829a..6506e3e 100644
--- a/plc4j/drivers/modbus/pom.xml
+++ b/plc4j/drivers/modbus/pom.xml
@@ -177,6 +177,14 @@
       <!-- Scope is 'provided' as this way it's not shipped with the driver -->
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.plc4x</groupId>
+      <artifactId>plc4x-protocols-modbus</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <classifier>tests</classifier>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusIOTest.java b/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusIOTest.java
index 98a7056..e2adebf 100644
--- a/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusIOTest.java
+++ b/plc4j/drivers/modbus/src/test/java/org/apache/plc4x/java/modbus/ModbusIOTest.java
@@ -23,7 +23,7 @@ import org.apache.plc4x.test.parserserializer.ParserSerializerTestsuiteRunner;
 public class ModbusIOTest extends ParserSerializerTestsuiteRunner {
 
     public ModbusIOTest() {
-        super("/testsuite/ModbusTestsuite.xml");
+        super("/protocols/modbus/ParserSerializerTestsuite.xml");
     }
 
 }
diff --git a/plc4j/drivers/s7/pom.xml b/plc4j/drivers/s7/pom.xml
index 613e308..9febd55 100644
--- a/plc4j/drivers/s7/pom.xml
+++ b/plc4j/drivers/s7/pom.xml
@@ -167,6 +167,14 @@
       <!-- Scope is 'provided' as this way it's not shipped with the driver -->
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.plc4x</groupId>
+      <artifactId>plc4x-protocols-s7</artifactId>
+      <version>0.8.0-SNAPSHOT</version>
+      <classifier>tests</classifier>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/S7DriverIT.java b/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/S7DriverIT.java
index 36abedf..8ff45c0 100644
--- a/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/S7DriverIT.java
+++ b/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/S7DriverIT.java
@@ -23,7 +23,7 @@ import org.apache.plc4x.test.driver.DriverTestsuiteRunner;
 public class S7DriverIT extends DriverTestsuiteRunner {
 
     public S7DriverIT() {
-        super("/testsuite/S7DriverIT.xml");
+        super("/protocols/s7/DriverTestsuite.xml");
     }
 
 }
diff --git a/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/S7ParserSerializerTest.java b/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/S7ParserSerializerTest.java
index 0a596a1..39e9056 100644
--- a/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/S7ParserSerializerTest.java
+++ b/plc4j/drivers/s7/src/test/java/org/apache/plc4x/java/s7/readwrite/S7ParserSerializerTest.java
@@ -23,7 +23,7 @@ import org.apache.plc4x.test.parserserializer.ParserSerializerTestsuiteRunner;
 public class S7ParserSerializerTest extends ParserSerializerTestsuiteRunner {
 
     public S7ParserSerializerTest() {
-        super("/testsuite/S7ParserSerializerTest.xml");
+        super("/protocols/s7/ParserSerializerTestsuite.xml");
     }
 
 }
diff --git a/plc4j/pom.xml b/plc4j/pom.xml
index 9140c10..ad84837 100644
--- a/plc4j/pom.xml
+++ b/plc4j/pom.xml
@@ -252,6 +252,7 @@
             </goals>
             <configuration>
               <failOnWarning>true</failOnWarning>
+              <ignoreNonCompile>true</ignoreNonCompile>
               <ignoredDependencies>
                 <ignoredDependency>org.assertj:assertj-core</ignoredDependency>
                 <ignoredDependency>org.junit.jupiter:junit-jupiter</ignoredDependency>
diff --git a/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/parserserializer/ParserSerializerTestsuiteRunner.java b/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/parserserializer/ParserSerializerTestsuiteRunner.java
index eedfef1..10ae548 100644
--- a/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/parserserializer/ParserSerializerTestsuiteRunner.java
+++ b/plc4j/utils/test-utils/src/main/java/org/apache/plc4x/test/parserserializer/ParserSerializerTestsuiteRunner.java
@@ -59,6 +59,9 @@ public class ParserSerializerTestsuiteRunner {
     @TestFactory
     public Iterable<DynamicTest> getTestsuiteTests() throws ParserSerializerTestsuiteException {
         ParserSerializerTestsuite testSuite = parseTestsuite(ParserSerializerTestsuiteRunner.class.getResourceAsStream(testsuiteDocument));
+        if(testSuite == null) {
+            throw new ParserSerializerTestsuiteException("Couldn't find testsuite document");
+        }
         List<DynamicTest> dynamicTests = new LinkedList<>();
         for(Testcase testcase : testSuite.getTestcases()) {
             String testcaseName = testcase.getName();
diff --git a/plc4j/drivers/ab-eth/src/test/resources/testsuite/AbEthTestsuite.xml b/protocols/ab-eth/src/test/resources/protocols/abeth/ParserSerializerTestsuite.xml
similarity index 100%
rename from plc4j/drivers/ab-eth/src/test/resources/testsuite/AbEthTestsuite.xml
rename to protocols/ab-eth/src/test/resources/protocols/abeth/ParserSerializerTestsuite.xml
diff --git a/plc4j/drivers/ads/src/test/resources/testsuite/AdsDriverIT.xml b/protocols/ads/src/test/resources/protocols/ads/DriverTestsuite.xml
similarity index 100%
rename from plc4j/drivers/ads/src/test/resources/testsuite/AdsDriverIT.xml
rename to protocols/ads/src/test/resources/protocols/ads/DriverTestsuite.xml
diff --git a/plc4j/drivers/ads/src/test/resources/testsuite/AdsParserSerializerTest.xml b/protocols/ads/src/test/resources/protocols/ads/ParserSerializerTestsuite.xml
similarity index 100%
rename from plc4j/drivers/ads/src/test/resources/testsuite/AdsParserSerializerTest.xml
rename to protocols/ads/src/test/resources/protocols/ads/ParserSerializerTestsuite.xml
diff --git a/sandbox/test-java-df1-driver/src/test/resources/testsuite/Df1Testsuite.xml b/protocols/df1/src/test/resources/protocols/df1/ParserSerializerTestsuite.xml
similarity index 100%
rename from sandbox/test-java-df1-driver/src/test/resources/testsuite/Df1Testsuite.xml
rename to protocols/df1/src/test/resources/protocols/df1/ParserSerializerTestsuite.xml
diff --git a/plc4j/drivers/eip/src/test/resources/testsuite/EIPDriverTestsuite.xml b/protocols/eip/src/test/resources/protocols/eip/DriverTestsuite.xml
similarity index 100%
rename from plc4j/drivers/eip/src/test/resources/testsuite/EIPDriverTestsuite.xml
rename to protocols/eip/src/test/resources/protocols/eip/DriverTestsuite.xml
diff --git a/plc4j/drivers/eip/src/test/resources/testsuite/EIPParserSerializerTestsuite.xml b/protocols/eip/src/test/resources/protocols/eip/ParserSerializerTestsuite.xml
similarity index 100%
rename from plc4j/drivers/eip/src/test/resources/testsuite/EIPParserSerializerTestsuite.xml
rename to protocols/eip/src/test/resources/protocols/eip/ParserSerializerTestsuite.xml
diff --git a/plc4j/drivers/firmata/src/test/resources/testsuite/FirmataParserSerializerTest.xml b/protocols/firmata/src/test/resources/protocols/firmata/ParserSerializerTestsuite.xml
similarity index 100%
rename from plc4j/drivers/firmata/src/test/resources/testsuite/FirmataParserSerializerTest.xml
rename to protocols/firmata/src/test/resources/protocols/firmata/ParserSerializerTestsuite.xml
diff --git a/plc4j/drivers/knxnetip/src/test/resources/testsuite/KNXNetIPTestsuite.xml b/protocols/knxnetip/src/test/resources/protocols/knxnetip/ParserSerializerTestsuite.xml
similarity index 100%
rename from plc4j/drivers/knxnetip/src/test/resources/testsuite/KNXNetIPTestsuite.xml
rename to protocols/knxnetip/src/test/resources/protocols/knxnetip/ParserSerializerTestsuite.xml
diff --git a/plc4j/drivers/modbus/src/test/resources/testsuite/ModbusTestsuite.xml b/protocols/modbus/src/test/resources/protocols/modbus/ParserSerializerTestsuite.xml
similarity index 100%
rename from plc4j/drivers/modbus/src/test/resources/testsuite/ModbusTestsuite.xml
rename to protocols/modbus/src/test/resources/protocols/modbus/ParserSerializerTestsuite.xml
diff --git a/protocols/pom.xml b/protocols/pom.xml
index 1459800..4c70ffa 100644
--- a/protocols/pom.xml
+++ b/protocols/pom.xml
@@ -175,11 +175,23 @@
       -->
       <plugin>
         <artifactId>maven-jar-plugin</artifactId>
-        <configuration>
-          <archive>
-            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-          </archive>
-        </configuration>
+        <executions>
+          <execution>
+            <id>default-jar</id>
+            <configuration>
+              <archive>
+                <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+              </archive>
+            </configuration>
+          </execution>
+          <execution>
+            <id>default-test-jar</id>
+            <phase>package</phase>
+            <goals>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
 
       <!--
diff --git a/plc4j/drivers/s7/src/test/resources/testsuite/S7DriverIT.xml b/protocols/s7/src/test/resources/protocols/s7/DriverTestsuite.xml
similarity index 100%
rename from plc4j/drivers/s7/src/test/resources/testsuite/S7DriverIT.xml
rename to protocols/s7/src/test/resources/protocols/s7/DriverTestsuite.xml
diff --git a/plc4j/drivers/s7/src/test/resources/testsuite/S7ParserSerializerTest.xml b/protocols/s7/src/test/resources/protocols/s7/ParserSerializerTestsuite.xml
similarity index 100%
rename from plc4j/drivers/s7/src/test/resources/testsuite/S7ParserSerializerTest.xml
rename to protocols/s7/src/test/resources/protocols/s7/ParserSerializerTestsuite.xml
diff --git a/sandbox/plc4go/cmd/main/drivers/modbus_test.go b/sandbox/plc4go/cmd/main/drivers/modbus_test.go
index 5a8a7f9..d858a80 100644
--- a/sandbox/plc4go/cmd/main/drivers/modbus_test.go
+++ b/sandbox/plc4go/cmd/main/drivers/modbus_test.go
@@ -17,6 +17,9 @@ package drivers
 
 import (
 	"encoding/hex"
+	"fmt"
+	"net"
+	"os"
 	"plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/modbus/readwrite/model"
 	"plc4x.apache.org/plc4go-modbus-driver/0.8.0/internal/plc4go/spi"
 	"strings"
@@ -54,3 +57,57 @@ func test(t *testing.T, rawMessage string, response bool) {
 		}
 	}
 }
+
+func TestConnection(t *testing.T) {
+
+	pdu := model.ModbusPDUReadInputRegistersRequest{
+		StartingAddress: 1,
+		Quantity:        1,
+	}
+	adu := model.ModbusTcpADU{
+		TransactionIdentifier: 0,
+		UnitIdentifier:        255,
+		Pdu:                   &pdu,
+	}
+
+	wb := spi.WriteBufferNew()
+	adu.Serialize(*wb)
+
+	servAddr := "192.168.23.30:502"
+	tcpAddr, err := net.ResolveTCPAddr("tcp", servAddr)
+	if err != nil {
+		println("ResolveTCPAddr failed:", err.Error())
+		os.Exit(1)
+	}
+
+	conn, err := net.DialTCP("tcp", nil, tcpAddr)
+	if err != nil {
+		println("Dial failed:", err.Error())
+		os.Exit(1)
+	}
+
+	_, err = conn.Write(wb.GetBytes())
+	if err != nil {
+		println("Write to server failed:", err.Error())
+		os.Exit(1)
+	}
+
+	buffer := make([]byte, 1024)
+
+	numBytes, err := conn.Read(buffer)
+	if err != nil {
+		println("Write to server failed:", err.Error())
+		os.Exit(1)
+	}
+
+	rb := spi.ReadBufferNew(buffer[0:numBytes])
+	response, err := model.ModbusTcpADUParse(rb, true)
+	if err != nil {
+		println("Parsing response failed:", err.Error())
+		os.Exit(1)
+	}
+
+	fmt.Println(response)
+
+	conn.Close()
+}
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go
index 8d49ee2..48e2669 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUAbort.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type APDUAbort struct {
-	server           bool
-	originalInvokeId uint8
-	abortReason      uint8
+	Server           bool
+	OriginalInvokeId uint8
+	AbortReason      uint8
 	APDU
 }
 
@@ -48,7 +48,7 @@ func (m APDUAbort) initialize() spi.Message {
 }
 
 func NewAPDUAbort(server bool, originalInvokeId uint8, abortReason uint8) APDUInitializer {
-	return &APDUAbort{server: server, originalInvokeId: originalInvokeId, abortReason: abortReason}
+	return &APDUAbort{Server: server, OriginalInvokeId: originalInvokeId, AbortReason: abortReason}
 }
 
 func CastIAPDUAbort(structType interface{}) IAPDUAbort {
@@ -143,21 +143,21 @@ func (m APDUAbort) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (server)
-		server := bool(m.server)
+		server := bool(m.Server)
 		_serverErr := io.WriteBit((bool)(server))
 		if _serverErr != nil {
 			return errors.New("Error serializing 'server' field " + _serverErr.Error())
 		}
 
 		// Simple Field (originalInvokeId)
-		originalInvokeId := uint8(m.originalInvokeId)
+		originalInvokeId := uint8(m.OriginalInvokeId)
 		_originalInvokeIdErr := io.WriteUint8(8, (originalInvokeId))
 		if _originalInvokeIdErr != nil {
 			return errors.New("Error serializing 'originalInvokeId' field " + _originalInvokeIdErr.Error())
 		}
 
 		// Simple Field (abortReason)
-		abortReason := uint8(m.abortReason)
+		abortReason := uint8(m.AbortReason)
 		_abortReasonErr := io.WriteUint8(8, (abortReason))
 		if _abortReasonErr != nil {
 			return errors.New("Error serializing 'abortReason' field " + _abortReasonErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go
index 8e54475..140bc3d 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUComplexAck.go
@@ -27,12 +27,12 @@ import (
 
 // The data-structure of this message
 type APDUComplexAck struct {
-	segmentedMessage   bool
-	moreFollows        bool
-	originalInvokeId   uint8
-	sequenceNumber     *uint8
-	proposedWindowSize *uint8
-	serviceAck         IBACnetServiceAck
+	SegmentedMessage   bool
+	MoreFollows        bool
+	OriginalInvokeId   uint8
+	SequenceNumber     *uint8
+	ProposedWindowSize *uint8
+	ServiceAck         IBACnetServiceAck
 	APDU
 }
 
@@ -52,7 +52,7 @@ func (m APDUComplexAck) initialize() spi.Message {
 }
 
 func NewAPDUComplexAck(segmentedMessage bool, moreFollows bool, originalInvokeId uint8, sequenceNumber *uint8, proposedWindowSize *uint8, serviceAck IBACnetServiceAck) APDUInitializer {
-	return &APDUComplexAck{segmentedMessage: segmentedMessage, moreFollows: moreFollows, originalInvokeId: originalInvokeId, sequenceNumber: sequenceNumber, proposedWindowSize: proposedWindowSize, serviceAck: serviceAck}
+	return &APDUComplexAck{SegmentedMessage: segmentedMessage, MoreFollows: moreFollows, OriginalInvokeId: originalInvokeId, SequenceNumber: sequenceNumber, ProposedWindowSize: proposedWindowSize, ServiceAck: serviceAck}
 }
 
 func CastIAPDUComplexAck(structType interface{}) IAPDUComplexAck {
@@ -91,17 +91,17 @@ func (m APDUComplexAck) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Optional Field (sequenceNumber)
-	if m.sequenceNumber != nil {
+	if m.SequenceNumber != nil {
 		lengthInBits += 8
 	}
 
 	// Optional Field (proposedWindowSize)
-	if m.proposedWindowSize != nil {
+	if m.ProposedWindowSize != nil {
 		lengthInBits += 8
 	}
 
 	// Simple field (serviceAck)
-	lengthInBits += m.serviceAck.LengthInBits()
+	lengthInBits += m.ServiceAck.LengthInBits()
 
 	return lengthInBits
 }
@@ -185,14 +185,14 @@ func (m APDUComplexAck) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (segmentedMessage)
-		segmentedMessage := bool(m.segmentedMessage)
+		segmentedMessage := bool(m.SegmentedMessage)
 		_segmentedMessageErr := io.WriteBit((bool)(segmentedMessage))
 		if _segmentedMessageErr != nil {
 			return errors.New("Error serializing 'segmentedMessage' field " + _segmentedMessageErr.Error())
 		}
 
 		// Simple Field (moreFollows)
-		moreFollows := bool(m.moreFollows)
+		moreFollows := bool(m.MoreFollows)
 		_moreFollowsErr := io.WriteBit((bool)(moreFollows))
 		if _moreFollowsErr != nil {
 			return errors.New("Error serializing 'moreFollows' field " + _moreFollowsErr.Error())
@@ -207,7 +207,7 @@ func (m APDUComplexAck) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (originalInvokeId)
-		originalInvokeId := uint8(m.originalInvokeId)
+		originalInvokeId := uint8(m.OriginalInvokeId)
 		_originalInvokeIdErr := io.WriteUint8(8, (originalInvokeId))
 		if _originalInvokeIdErr != nil {
 			return errors.New("Error serializing 'originalInvokeId' field " + _originalInvokeIdErr.Error())
@@ -215,8 +215,8 @@ func (m APDUComplexAck) Serialize(io spi.WriteBuffer) error {
 
 		// Optional Field (sequenceNumber) (Can be skipped, if the value is null)
 		var sequenceNumber *uint8 = nil
-		if m.sequenceNumber != nil {
-			sequenceNumber = m.sequenceNumber
+		if m.SequenceNumber != nil {
+			sequenceNumber = m.SequenceNumber
 			_sequenceNumberErr := io.WriteUint8(8, *(sequenceNumber))
 			if _sequenceNumberErr != nil {
 				return errors.New("Error serializing 'sequenceNumber' field " + _sequenceNumberErr.Error())
@@ -225,8 +225,8 @@ func (m APDUComplexAck) Serialize(io spi.WriteBuffer) error {
 
 		// Optional Field (proposedWindowSize) (Can be skipped, if the value is null)
 		var proposedWindowSize *uint8 = nil
-		if m.proposedWindowSize != nil {
-			proposedWindowSize = m.proposedWindowSize
+		if m.ProposedWindowSize != nil {
+			proposedWindowSize = m.ProposedWindowSize
 			_proposedWindowSizeErr := io.WriteUint8(8, *(proposedWindowSize))
 			if _proposedWindowSizeErr != nil {
 				return errors.New("Error serializing 'proposedWindowSize' field " + _proposedWindowSizeErr.Error())
@@ -234,7 +234,7 @@ func (m APDUComplexAck) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (serviceAck)
-		serviceAck := CastIBACnetServiceAck(m.serviceAck)
+		serviceAck := CastIBACnetServiceAck(m.ServiceAck)
 		_serviceAckErr := serviceAck.Serialize(io)
 		if _serviceAckErr != nil {
 			return errors.New("Error serializing 'serviceAck' field " + _serviceAckErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go
index dfe8717..eb191ee 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUConfirmedRequest.go
@@ -27,15 +27,15 @@ import (
 
 // The data-structure of this message
 type APDUConfirmedRequest struct {
-	segmentedMessage          bool
-	moreFollows               bool
-	segmentedResponseAccepted bool
-	maxSegmentsAccepted       uint8
-	maxApduLengthAccepted     uint8
-	invokeId                  uint8
-	sequenceNumber            *uint8
-	proposedWindowSize        *uint8
-	serviceRequest            IBACnetConfirmedServiceRequest
+	SegmentedMessage          bool
+	MoreFollows               bool
+	SegmentedResponseAccepted bool
+	MaxSegmentsAccepted       uint8
+	MaxApduLengthAccepted     uint8
+	InvokeId                  uint8
+	SequenceNumber            *uint8
+	ProposedWindowSize        *uint8
+	ServiceRequest            IBACnetConfirmedServiceRequest
 	APDU
 }
 
@@ -55,7 +55,7 @@ func (m APDUConfirmedRequest) initialize() spi.Message {
 }
 
 func NewAPDUConfirmedRequest(segmentedMessage bool, moreFollows bool, segmentedResponseAccepted bool, maxSegmentsAccepted uint8, maxApduLengthAccepted uint8, invokeId uint8, sequenceNumber *uint8, proposedWindowSize *uint8, serviceRequest IBACnetConfirmedServiceRequest) APDUInitializer {
-	return &APDUConfirmedRequest{segmentedMessage: segmentedMessage, moreFollows: moreFollows, segmentedResponseAccepted: segmentedResponseAccepted, maxSegmentsAccepted: maxSegmentsAccepted, maxApduLengthAccepted: maxApduLengthAccepted, invokeId: invokeId, sequenceNumber: sequenceNumber, proposedWindowSize: proposedWindowSize, serviceRequest: serviceRequest}
+	return &APDUConfirmedRequest{SegmentedMessage: segmentedMessage, MoreFollows: moreFollows, SegmentedResponseAccepted: segmentedResponseAccepted, MaxSegmentsAccepted: maxSegmentsAccepted, MaxApduLengthAccepted: maxApduLengthAccepted, InvokeId: invokeId, SequenceNumber: sequenceNumber, ProposedWindowSize: proposedWindowSize, ServiceRequest: serviceRequest}
 }
 
 func CastIAPDUConfirmedRequest(structType interface{}) IAPDUConfirmedRequest {
@@ -103,17 +103,17 @@ func (m APDUConfirmedRequest) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Optional Field (sequenceNumber)
-	if m.sequenceNumber != nil {
+	if m.SequenceNumber != nil {
 		lengthInBits += 8
 	}
 
 	// Optional Field (proposedWindowSize)
-	if m.proposedWindowSize != nil {
+	if m.ProposedWindowSize != nil {
 		lengthInBits += 8
 	}
 
 	// Simple field (serviceRequest)
-	lengthInBits += m.serviceRequest.LengthInBits()
+	lengthInBits += m.ServiceRequest.LengthInBits()
 
 	return lengthInBits
 }
@@ -215,21 +215,21 @@ func (m APDUConfirmedRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (segmentedMessage)
-		segmentedMessage := bool(m.segmentedMessage)
+		segmentedMessage := bool(m.SegmentedMessage)
 		_segmentedMessageErr := io.WriteBit((bool)(segmentedMessage))
 		if _segmentedMessageErr != nil {
 			return errors.New("Error serializing 'segmentedMessage' field " + _segmentedMessageErr.Error())
 		}
 
 		// Simple Field (moreFollows)
-		moreFollows := bool(m.moreFollows)
+		moreFollows := bool(m.MoreFollows)
 		_moreFollowsErr := io.WriteBit((bool)(moreFollows))
 		if _moreFollowsErr != nil {
 			return errors.New("Error serializing 'moreFollows' field " + _moreFollowsErr.Error())
 		}
 
 		// Simple Field (segmentedResponseAccepted)
-		segmentedResponseAccepted := bool(m.segmentedResponseAccepted)
+		segmentedResponseAccepted := bool(m.SegmentedResponseAccepted)
 		_segmentedResponseAcceptedErr := io.WriteBit((bool)(segmentedResponseAccepted))
 		if _segmentedResponseAcceptedErr != nil {
 			return errors.New("Error serializing 'segmentedResponseAccepted' field " + _segmentedResponseAcceptedErr.Error())
@@ -244,21 +244,21 @@ func (m APDUConfirmedRequest) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (maxSegmentsAccepted)
-		maxSegmentsAccepted := uint8(m.maxSegmentsAccepted)
+		maxSegmentsAccepted := uint8(m.MaxSegmentsAccepted)
 		_maxSegmentsAcceptedErr := io.WriteUint8(3, (maxSegmentsAccepted))
 		if _maxSegmentsAcceptedErr != nil {
 			return errors.New("Error serializing 'maxSegmentsAccepted' field " + _maxSegmentsAcceptedErr.Error())
 		}
 
 		// Simple Field (maxApduLengthAccepted)
-		maxApduLengthAccepted := uint8(m.maxApduLengthAccepted)
+		maxApduLengthAccepted := uint8(m.MaxApduLengthAccepted)
 		_maxApduLengthAcceptedErr := io.WriteUint8(4, (maxApduLengthAccepted))
 		if _maxApduLengthAcceptedErr != nil {
 			return errors.New("Error serializing 'maxApduLengthAccepted' field " + _maxApduLengthAcceptedErr.Error())
 		}
 
 		// Simple Field (invokeId)
-		invokeId := uint8(m.invokeId)
+		invokeId := uint8(m.InvokeId)
 		_invokeIdErr := io.WriteUint8(8, (invokeId))
 		if _invokeIdErr != nil {
 			return errors.New("Error serializing 'invokeId' field " + _invokeIdErr.Error())
@@ -266,8 +266,8 @@ func (m APDUConfirmedRequest) Serialize(io spi.WriteBuffer) error {
 
 		// Optional Field (sequenceNumber) (Can be skipped, if the value is null)
 		var sequenceNumber *uint8 = nil
-		if m.sequenceNumber != nil {
-			sequenceNumber = m.sequenceNumber
+		if m.SequenceNumber != nil {
+			sequenceNumber = m.SequenceNumber
 			_sequenceNumberErr := io.WriteUint8(8, *(sequenceNumber))
 			if _sequenceNumberErr != nil {
 				return errors.New("Error serializing 'sequenceNumber' field " + _sequenceNumberErr.Error())
@@ -276,8 +276,8 @@ func (m APDUConfirmedRequest) Serialize(io spi.WriteBuffer) error {
 
 		// Optional Field (proposedWindowSize) (Can be skipped, if the value is null)
 		var proposedWindowSize *uint8 = nil
-		if m.proposedWindowSize != nil {
-			proposedWindowSize = m.proposedWindowSize
+		if m.ProposedWindowSize != nil {
+			proposedWindowSize = m.ProposedWindowSize
 			_proposedWindowSizeErr := io.WriteUint8(8, *(proposedWindowSize))
 			if _proposedWindowSizeErr != nil {
 				return errors.New("Error serializing 'proposedWindowSize' field " + _proposedWindowSizeErr.Error())
@@ -285,7 +285,7 @@ func (m APDUConfirmedRequest) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (serviceRequest)
-		serviceRequest := CastIBACnetConfirmedServiceRequest(m.serviceRequest)
+		serviceRequest := CastIBACnetConfirmedServiceRequest(m.ServiceRequest)
 		_serviceRequestErr := serviceRequest.Serialize(io)
 		if _serviceRequestErr != nil {
 			return errors.New("Error serializing 'serviceRequest' field " + _serviceRequestErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go
index 0c8b9aa..cfe8bd7 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUError.go
@@ -27,8 +27,8 @@ import (
 
 // The data-structure of this message
 type APDUError struct {
-	originalInvokeId uint8
-	error            IBACnetError
+	OriginalInvokeId uint8
+	Error            IBACnetError
 	APDU
 }
 
@@ -48,7 +48,7 @@ func (m APDUError) initialize() spi.Message {
 }
 
 func NewAPDUError(originalInvokeId uint8, error IBACnetError) APDUInitializer {
-	return &APDUError{originalInvokeId: originalInvokeId, error: error}
+	return &APDUError{OriginalInvokeId: originalInvokeId, Error: error}
 }
 
 func CastIAPDUError(structType interface{}) IAPDUError {
@@ -81,7 +81,7 @@ func (m APDUError) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (error)
-	lengthInBits += m.error.LengthInBits()
+	lengthInBits += m.Error.LengthInBits()
 
 	return lengthInBits
 }
@@ -139,14 +139,14 @@ func (m APDUError) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (originalInvokeId)
-		originalInvokeId := uint8(m.originalInvokeId)
+		originalInvokeId := uint8(m.OriginalInvokeId)
 		_originalInvokeIdErr := io.WriteUint8(8, (originalInvokeId))
 		if _originalInvokeIdErr != nil {
 			return errors.New("Error serializing 'originalInvokeId' field " + _originalInvokeIdErr.Error())
 		}
 
 		// Simple Field (error)
-		error := CastIBACnetError(m.error)
+		error := CastIBACnetError(m.Error)
 		_errorErr := error.Serialize(io)
 		if _errorErr != nil {
 			return errors.New("Error serializing 'error' field " + _errorErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go
index 605b1fa..c283b45 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUReject.go
@@ -26,8 +26,8 @@ import (
 
 // The data-structure of this message
 type APDUReject struct {
-	originalInvokeId uint8
-	rejectReason     uint8
+	OriginalInvokeId uint8
+	RejectReason     uint8
 	APDU
 }
 
@@ -47,7 +47,7 @@ func (m APDUReject) initialize() spi.Message {
 }
 
 func NewAPDUReject(originalInvokeId uint8, rejectReason uint8) APDUInitializer {
-	return &APDUReject{originalInvokeId: originalInvokeId, rejectReason: rejectReason}
+	return &APDUReject{OriginalInvokeId: originalInvokeId, RejectReason: rejectReason}
 }
 
 func CastIAPDUReject(structType interface{}) IAPDUReject {
@@ -133,14 +133,14 @@ func (m APDUReject) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (originalInvokeId)
-		originalInvokeId := uint8(m.originalInvokeId)
+		originalInvokeId := uint8(m.OriginalInvokeId)
 		_originalInvokeIdErr := io.WriteUint8(8, (originalInvokeId))
 		if _originalInvokeIdErr != nil {
 			return errors.New("Error serializing 'originalInvokeId' field " + _originalInvokeIdErr.Error())
 		}
 
 		// Simple Field (rejectReason)
-		rejectReason := uint8(m.rejectReason)
+		rejectReason := uint8(m.RejectReason)
 		_rejectReasonErr := io.WriteUint8(8, (rejectReason))
 		if _rejectReasonErr != nil {
 			return errors.New("Error serializing 'rejectReason' field " + _rejectReasonErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go
index ed5098e..753d22d 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSegmentAck.go
@@ -26,11 +26,11 @@ import (
 
 // The data-structure of this message
 type APDUSegmentAck struct {
-	negativeAck        bool
-	server             bool
-	originalInvokeId   uint8
-	sequenceNumber     uint8
-	proposedWindowSize uint8
+	NegativeAck        bool
+	Server             bool
+	OriginalInvokeId   uint8
+	SequenceNumber     uint8
+	ProposedWindowSize uint8
 	APDU
 }
 
@@ -50,7 +50,7 @@ func (m APDUSegmentAck) initialize() spi.Message {
 }
 
 func NewAPDUSegmentAck(negativeAck bool, server bool, originalInvokeId uint8, sequenceNumber uint8, proposedWindowSize uint8) APDUInitializer {
-	return &APDUSegmentAck{negativeAck: negativeAck, server: server, originalInvokeId: originalInvokeId, sequenceNumber: sequenceNumber, proposedWindowSize: proposedWindowSize}
+	return &APDUSegmentAck{NegativeAck: negativeAck, Server: server, OriginalInvokeId: originalInvokeId, SequenceNumber: sequenceNumber, ProposedWindowSize: proposedWindowSize}
 }
 
 func CastIAPDUSegmentAck(structType interface{}) IAPDUSegmentAck {
@@ -163,35 +163,35 @@ func (m APDUSegmentAck) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (negativeAck)
-		negativeAck := bool(m.negativeAck)
+		negativeAck := bool(m.NegativeAck)
 		_negativeAckErr := io.WriteBit((bool)(negativeAck))
 		if _negativeAckErr != nil {
 			return errors.New("Error serializing 'negativeAck' field " + _negativeAckErr.Error())
 		}
 
 		// Simple Field (server)
-		server := bool(m.server)
+		server := bool(m.Server)
 		_serverErr := io.WriteBit((bool)(server))
 		if _serverErr != nil {
 			return errors.New("Error serializing 'server' field " + _serverErr.Error())
 		}
 
 		// Simple Field (originalInvokeId)
-		originalInvokeId := uint8(m.originalInvokeId)
+		originalInvokeId := uint8(m.OriginalInvokeId)
 		_originalInvokeIdErr := io.WriteUint8(8, (originalInvokeId))
 		if _originalInvokeIdErr != nil {
 			return errors.New("Error serializing 'originalInvokeId' field " + _originalInvokeIdErr.Error())
 		}
 
 		// Simple Field (sequenceNumber)
-		sequenceNumber := uint8(m.sequenceNumber)
+		sequenceNumber := uint8(m.SequenceNumber)
 		_sequenceNumberErr := io.WriteUint8(8, (sequenceNumber))
 		if _sequenceNumberErr != nil {
 			return errors.New("Error serializing 'sequenceNumber' field " + _sequenceNumberErr.Error())
 		}
 
 		// Simple Field (proposedWindowSize)
-		proposedWindowSize := uint8(m.proposedWindowSize)
+		proposedWindowSize := uint8(m.ProposedWindowSize)
 		_proposedWindowSizeErr := io.WriteUint8(8, (proposedWindowSize))
 		if _proposedWindowSizeErr != nil {
 			return errors.New("Error serializing 'proposedWindowSize' field " + _proposedWindowSizeErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go
index f987c96..c77253a 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUSimpleAck.go
@@ -26,8 +26,8 @@ import (
 
 // The data-structure of this message
 type APDUSimpleAck struct {
-	originalInvokeId uint8
-	serviceChoice    uint8
+	OriginalInvokeId uint8
+	ServiceChoice    uint8
 	APDU
 }
 
@@ -47,7 +47,7 @@ func (m APDUSimpleAck) initialize() spi.Message {
 }
 
 func NewAPDUSimpleAck(originalInvokeId uint8, serviceChoice uint8) APDUInitializer {
-	return &APDUSimpleAck{originalInvokeId: originalInvokeId, serviceChoice: serviceChoice}
+	return &APDUSimpleAck{OriginalInvokeId: originalInvokeId, ServiceChoice: serviceChoice}
 }
 
 func CastIAPDUSimpleAck(structType interface{}) IAPDUSimpleAck {
@@ -133,14 +133,14 @@ func (m APDUSimpleAck) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (originalInvokeId)
-		originalInvokeId := uint8(m.originalInvokeId)
+		originalInvokeId := uint8(m.OriginalInvokeId)
 		_originalInvokeIdErr := io.WriteUint8(8, (originalInvokeId))
 		if _originalInvokeIdErr != nil {
 			return errors.New("Error serializing 'originalInvokeId' field " + _originalInvokeIdErr.Error())
 		}
 
 		// Simple Field (serviceChoice)
-		serviceChoice := uint8(m.serviceChoice)
+		serviceChoice := uint8(m.ServiceChoice)
 		_serviceChoiceErr := io.WriteUint8(8, (serviceChoice))
 		if _serviceChoiceErr != nil {
 			return errors.New("Error serializing 'serviceChoice' field " + _serviceChoiceErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
index 41cc01f..f942f38 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
@@ -27,7 +27,7 @@ import (
 
 // The data-structure of this message
 type APDUUnconfirmedRequest struct {
-	serviceRequest IBACnetUnconfirmedServiceRequest
+	ServiceRequest IBACnetUnconfirmedServiceRequest
 	APDU
 }
 
@@ -47,7 +47,7 @@ func (m APDUUnconfirmedRequest) initialize() spi.Message {
 }
 
 func NewAPDUUnconfirmedRequest(serviceRequest IBACnetUnconfirmedServiceRequest) APDUInitializer {
-	return &APDUUnconfirmedRequest{serviceRequest: serviceRequest}
+	return &APDUUnconfirmedRequest{ServiceRequest: serviceRequest}
 }
 
 func CastIAPDUUnconfirmedRequest(structType interface{}) IAPDUUnconfirmedRequest {
@@ -77,7 +77,7 @@ func (m APDUUnconfirmedRequest) LengthInBits() uint16 {
 	lengthInBits += 4
 
 	// Simple field (serviceRequest)
-	lengthInBits += m.serviceRequest.LengthInBits()
+	lengthInBits += m.ServiceRequest.LengthInBits()
 
 	return lengthInBits
 }
@@ -129,7 +129,7 @@ func (m APDUUnconfirmedRequest) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (serviceRequest)
-		serviceRequest := CastIBACnetUnconfirmedServiceRequest(m.serviceRequest)
+		serviceRequest := CastIBACnetUnconfirmedServiceRequest(m.ServiceRequest)
 		_serviceRequestErr := serviceRequest.Serialize(io)
 		if _serviceRequestErr != nil {
 			return errors.New("Error serializing 'serviceRequest' field " + _serviceRequestErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
index c2807bb..fc3ddb3 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAddress.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type BACnetAddress struct {
-	address []uint8
-	port    uint16
+	Address []uint8
+	Port    uint16
 }
 
 // The corresponding interface
@@ -36,7 +36,7 @@ type IBACnetAddress interface {
 }
 
 func NewBACnetAddress(address []uint8, port uint16) spi.Message {
-	return &BACnetAddress{address: address, port: port}
+	return &BACnetAddress{Address: address, Port: port}
 }
 
 func CastIBACnetAddress(structType interface{}) IBACnetAddress {
@@ -63,8 +63,8 @@ func (m BACnetAddress) LengthInBits() uint16 {
 	var lengthInBits uint16 = 0
 
 	// Array field
-	if len(m.address) > 0 {
-		lengthInBits += 8 * uint16(len(m.address))
+	if len(m.Address) > 0 {
+		lengthInBits += 8 * uint16(len(m.Address))
 	}
 
 	// Simple field (port)
@@ -104,8 +104,8 @@ func BACnetAddressParse(io *spi.ReadBuffer) (spi.Message, error) {
 func (m BACnetAddress) Serialize(io spi.WriteBuffer) error {
 
 	// Array Field (address)
-	if m.address != nil {
-		for _, _element := range m.address {
+	if m.Address != nil {
+		for _, _element := range m.Address {
 			_elementErr := io.WriteUint8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'address' field " + _elementErr.Error())
@@ -114,7 +114,7 @@ func (m BACnetAddress) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (port)
-	port := uint16(m.port)
+	port := uint16(m.Port)
 	_portErr := io.WriteUint16(16, (port))
 	if _portErr != nil {
 		return errors.New("Error serializing 'port' field " + _portErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
index 254f25f..b96dd3c 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedCOVNotification.go
@@ -35,14 +35,14 @@ const BACnetConfirmedServiceRequestConfirmedCOVNotification_LISTOFVALUESCLOSINGT
 
 // The data-structure of this message
 type BACnetConfirmedServiceRequestConfirmedCOVNotification struct {
-	subscriberProcessIdentifier               uint8
-	monitoredObjectType                       uint16
-	monitoredObjectInstanceNumber             uint32
-	issueConfirmedNotificationsType           uint16
-	issueConfirmedNotificationsInstanceNumber uint32
-	lifetimeLength                            uint8
-	lifetimeSeconds                           []int8
-	notifications                             []IBACnetTagWithContent
+	SubscriberProcessIdentifier               uint8
+	MonitoredObjectType                       uint16
+	MonitoredObjectInstanceNumber             uint32
+	IssueConfirmedNotificationsType           uint16
+	IssueConfirmedNotificationsInstanceNumber uint32
+	LifetimeLength                            uint8
+	LifetimeSeconds                           []int8
+	Notifications                             []IBACnetTagWithContent
 	BACnetConfirmedServiceRequest
 }
 
@@ -62,7 +62,7 @@ func (m BACnetConfirmedServiceRequestConfirmedCOVNotification) initialize() spi.
 }
 
 func NewBACnetConfirmedServiceRequestConfirmedCOVNotification(subscriberProcessIdentifier uint8, monitoredObjectType uint16, monitoredObjectInstanceNumber uint32, issueConfirmedNotificationsType uint16, issueConfirmedNotificationsInstanceNumber uint32, lifetimeLength uint8, lifetimeSeconds []int8, notifications []IBACnetTagWithContent) BACnetConfirmedServiceRequestInitializer {
-	return &BACnetConfirmedServiceRequestConfirmedCOVNotification{subscriberProcessIdentifier: subscriberProcessIdentifier, monitoredObjectType: monitoredObjectType, monitoredObjectInstanceNumber: monitoredObjectInstanceNumber, issueConfirmedNotificationsType: issueConfirmedNotificationsType, issueConfirmedNotificationsInstanceNumber: issueConfirmedNotificationsInstanceNumber, lifetimeLength: lifetimeLength, lifetimeSeconds: lifetimeSeconds, notifications: notifications}
+	return &BACnetConfirmedServiceRequestConfirmedCOVNotification{SubscriberProcessIdentifier: subscriberProcessIdentifier, MonitoredObjectType: monitoredObjectType, MonitoredObjectInstanceNumber: monitoredObjectInstanceNumber, IssueConfirmedNotificationsType: issueConfirmedNotificationsType, IssueConfirmedNotificationsInstanceNumber: issueConfirmedNotificationsInstanceNumber, LifetimeLength: lifetimeLength, LifetimeSeconds: lifetimeSeconds, Notifications: notifications}
 }
 
 func CastIBACnetConfirmedServiceRequestConfirmedCOVNotification(structType interface{}) IBACnetConfirmedServiceRequestConfirmedCOVNotification {
@@ -119,16 +119,16 @@ func (m BACnetConfirmedServiceRequestConfirmedCOVNotification) LengthInBits() ui
 	lengthInBits += 3
 
 	// Array field
-	if len(m.lifetimeSeconds) > 0 {
-		lengthInBits += 8 * uint16(len(m.lifetimeSeconds))
+	if len(m.LifetimeSeconds) > 0 {
+		lengthInBits += 8 * uint16(len(m.LifetimeSeconds))
 	}
 
 	// Const Field (listOfValuesOpeningTag)
 	lengthInBits += 8
 
 	// Array field
-	if len(m.notifications) > 0 {
-		for _, element := range m.notifications {
+	if len(m.Notifications) > 0 {
+		for _, element := range m.Notifications {
 			lengthInBits += element.LengthInBits()
 		}
 	}
@@ -279,7 +279,7 @@ func (m BACnetConfirmedServiceRequestConfirmedCOVNotification) Serialize(io spi.
 		}
 
 		// Simple Field (subscriberProcessIdentifier)
-		subscriberProcessIdentifier := uint8(m.subscriberProcessIdentifier)
+		subscriberProcessIdentifier := uint8(m.SubscriberProcessIdentifier)
 		_subscriberProcessIdentifierErr := io.WriteUint8(8, (subscriberProcessIdentifier))
 		if _subscriberProcessIdentifierErr != nil {
 			return errors.New("Error serializing 'subscriberProcessIdentifier' field " + _subscriberProcessIdentifierErr.Error())
@@ -292,14 +292,14 @@ func (m BACnetConfirmedServiceRequestConfirmedCOVNotification) Serialize(io spi.
 		}
 
 		// Simple Field (monitoredObjectType)
-		monitoredObjectType := uint16(m.monitoredObjectType)
+		monitoredObjectType := uint16(m.MonitoredObjectType)
 		_monitoredObjectTypeErr := io.WriteUint16(10, (monitoredObjectType))
 		if _monitoredObjectTypeErr != nil {
 			return errors.New("Error serializing 'monitoredObjectType' field " + _monitoredObjectTypeErr.Error())
 		}
 
 		// Simple Field (monitoredObjectInstanceNumber)
-		monitoredObjectInstanceNumber := uint32(m.monitoredObjectInstanceNumber)
+		monitoredObjectInstanceNumber := uint32(m.MonitoredObjectInstanceNumber)
 		_monitoredObjectInstanceNumberErr := io.WriteUint32(22, (monitoredObjectInstanceNumber))
 		if _monitoredObjectInstanceNumberErr != nil {
 			return errors.New("Error serializing 'monitoredObjectInstanceNumber' field " + _monitoredObjectInstanceNumberErr.Error())
@@ -312,14 +312,14 @@ func (m BACnetConfirmedServiceRequestConfirmedCOVNotification) Serialize(io spi.
 		}
 
 		// Simple Field (issueConfirmedNotificationsType)
-		issueConfirmedNotificationsType := uint16(m.issueConfirmedNotificationsType)
+		issueConfirmedNotificationsType := uint16(m.IssueConfirmedNotificationsType)
 		_issueConfirmedNotificationsTypeErr := io.WriteUint16(10, (issueConfirmedNotificationsType))
 		if _issueConfirmedNotificationsTypeErr != nil {
 			return errors.New("Error serializing 'issueConfirmedNotificationsType' field " + _issueConfirmedNotificationsTypeErr.Error())
 		}
 
 		// Simple Field (issueConfirmedNotificationsInstanceNumber)
-		issueConfirmedNotificationsInstanceNumber := uint32(m.issueConfirmedNotificationsInstanceNumber)
+		issueConfirmedNotificationsInstanceNumber := uint32(m.IssueConfirmedNotificationsInstanceNumber)
 		_issueConfirmedNotificationsInstanceNumberErr := io.WriteUint32(22, (issueConfirmedNotificationsInstanceNumber))
 		if _issueConfirmedNotificationsInstanceNumberErr != nil {
 			return errors.New("Error serializing 'issueConfirmedNotificationsInstanceNumber' field " + _issueConfirmedNotificationsInstanceNumberErr.Error())
@@ -332,15 +332,15 @@ func (m BACnetConfirmedServiceRequestConfirmedCOVNotification) Serialize(io spi.
 		}
 
 		// Simple Field (lifetimeLength)
-		lifetimeLength := uint8(m.lifetimeLength)
+		lifetimeLength := uint8(m.LifetimeLength)
 		_lifetimeLengthErr := io.WriteUint8(3, (lifetimeLength))
 		if _lifetimeLengthErr != nil {
 			return errors.New("Error serializing 'lifetimeLength' field " + _lifetimeLengthErr.Error())
 		}
 
 		// Array Field (lifetimeSeconds)
-		if m.lifetimeSeconds != nil {
-			for _, _element := range m.lifetimeSeconds {
+		if m.LifetimeSeconds != nil {
+			for _, _element := range m.LifetimeSeconds {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'lifetimeSeconds' field " + _elementErr.Error())
@@ -355,8 +355,8 @@ func (m BACnetConfirmedServiceRequestConfirmedCOVNotification) Serialize(io spi.
 		}
 
 		// Array Field (notifications)
-		if m.notifications != nil {
-			for _, _element := range m.notifications {
+		if m.Notifications != nil {
+			for _, _element := range m.Notifications {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'notifications' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
index 9219fd4..950ffc0 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadProperty.go
@@ -30,10 +30,10 @@ const BACnetConfirmedServiceRequestReadProperty_PROPERTYIDENTIFIERHEADER uint8 =
 
 // The data-structure of this message
 type BACnetConfirmedServiceRequestReadProperty struct {
-	objectType               uint16
-	objectInstanceNumber     uint32
-	propertyIdentifierLength uint8
-	propertyIdentifier       []int8
+	ObjectType               uint16
+	ObjectInstanceNumber     uint32
+	PropertyIdentifierLength uint8
+	PropertyIdentifier       []int8
 	BACnetConfirmedServiceRequest
 }
 
@@ -53,7 +53,7 @@ func (m BACnetConfirmedServiceRequestReadProperty) initialize() spi.Message {
 }
 
 func NewBACnetConfirmedServiceRequestReadProperty(objectType uint16, objectInstanceNumber uint32, propertyIdentifierLength uint8, propertyIdentifier []int8) BACnetConfirmedServiceRequestInitializer {
-	return &BACnetConfirmedServiceRequestReadProperty{objectType: objectType, objectInstanceNumber: objectInstanceNumber, propertyIdentifierLength: propertyIdentifierLength, propertyIdentifier: propertyIdentifier}
+	return &BACnetConfirmedServiceRequestReadProperty{ObjectType: objectType, ObjectInstanceNumber: objectInstanceNumber, PropertyIdentifierLength: propertyIdentifierLength, PropertyIdentifier: propertyIdentifier}
 }
 
 func CastIBACnetConfirmedServiceRequestReadProperty(structType interface{}) IBACnetConfirmedServiceRequestReadProperty {
@@ -95,8 +95,8 @@ func (m BACnetConfirmedServiceRequestReadProperty) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Array field
-	if len(m.propertyIdentifier) > 0 {
-		lengthInBits += 8 * uint16(len(m.propertyIdentifier))
+	if len(m.PropertyIdentifier) > 0 {
+		lengthInBits += 8 * uint16(len(m.PropertyIdentifier))
 	}
 
 	return lengthInBits
@@ -170,14 +170,14 @@ func (m BACnetConfirmedServiceRequestReadProperty) Serialize(io spi.WriteBuffer)
 		}
 
 		// Simple Field (objectType)
-		objectType := uint16(m.objectType)
+		objectType := uint16(m.ObjectType)
 		_objectTypeErr := io.WriteUint16(10, (objectType))
 		if _objectTypeErr != nil {
 			return errors.New("Error serializing 'objectType' field " + _objectTypeErr.Error())
 		}
 
 		// Simple Field (objectInstanceNumber)
-		objectInstanceNumber := uint32(m.objectInstanceNumber)
+		objectInstanceNumber := uint32(m.ObjectInstanceNumber)
 		_objectInstanceNumberErr := io.WriteUint32(22, (objectInstanceNumber))
 		if _objectInstanceNumberErr != nil {
 			return errors.New("Error serializing 'objectInstanceNumber' field " + _objectInstanceNumberErr.Error())
@@ -190,15 +190,15 @@ func (m BACnetConfirmedServiceRequestReadProperty) Serialize(io spi.WriteBuffer)
 		}
 
 		// Simple Field (propertyIdentifierLength)
-		propertyIdentifierLength := uint8(m.propertyIdentifierLength)
+		propertyIdentifierLength := uint8(m.PropertyIdentifierLength)
 		_propertyIdentifierLengthErr := io.WriteUint8(3, (propertyIdentifierLength))
 		if _propertyIdentifierLengthErr != nil {
 			return errors.New("Error serializing 'propertyIdentifierLength' field " + _propertyIdentifierLengthErr.Error())
 		}
 
 		// Array Field (propertyIdentifier)
-		if m.propertyIdentifier != nil {
-			for _, _element := range m.propertyIdentifier {
+		if m.PropertyIdentifier != nil {
+			for _, _element := range m.PropertyIdentifier {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'propertyIdentifier' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
index d4eb1f6..1392254 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestSubscribeCOV.go
@@ -33,12 +33,12 @@ const BACnetConfirmedServiceRequestSubscribeCOV_LIFETIMEHEADER uint8 = 0x07
 
 // The data-structure of this message
 type BACnetConfirmedServiceRequestSubscribeCOV struct {
-	subscriberProcessIdentifier   uint8
-	monitoredObjectType           uint16
-	monitoredObjectInstanceNumber uint32
-	issueConfirmedNotifications   bool
-	lifetimeLength                uint8
-	lifetimeSeconds               []int8
+	SubscriberProcessIdentifier   uint8
+	MonitoredObjectType           uint16
+	MonitoredObjectInstanceNumber uint32
+	IssueConfirmedNotifications   bool
+	LifetimeLength                uint8
+	LifetimeSeconds               []int8
 	BACnetConfirmedServiceRequest
 }
 
@@ -58,7 +58,7 @@ func (m BACnetConfirmedServiceRequestSubscribeCOV) initialize() spi.Message {
 }
 
 func NewBACnetConfirmedServiceRequestSubscribeCOV(subscriberProcessIdentifier uint8, monitoredObjectType uint16, monitoredObjectInstanceNumber uint32, issueConfirmedNotifications bool, lifetimeLength uint8, lifetimeSeconds []int8) BACnetConfirmedServiceRequestInitializer {
-	return &BACnetConfirmedServiceRequestSubscribeCOV{subscriberProcessIdentifier: subscriberProcessIdentifier, monitoredObjectType: monitoredObjectType, monitoredObjectInstanceNumber: monitoredObjectInstanceNumber, issueConfirmedNotifications: issueConfirmedNotifications, lifetimeLength: lifetimeLength, lifetimeSeconds: lifetimeSeconds}
+	return &BACnetConfirmedServiceRequestSubscribeCOV{SubscriberProcessIdentifier: subscriberProcessIdentifier, MonitoredObjectType: monitoredObjectType, MonitoredObjectInstanceNumber: monitoredObjectInstanceNumber, IssueConfirmedNotifications: issueConfirmedNotifications, LifetimeLength: lifetimeLength, LifetimeSeconds: lifetimeSeconds}
 }
 
 func CastIBACnetConfirmedServiceRequestSubscribeCOV(structType interface{}) IBACnetConfirmedServiceRequestSubscribeCOV {
@@ -115,8 +115,8 @@ func (m BACnetConfirmedServiceRequestSubscribeCOV) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Array field
-	if len(m.lifetimeSeconds) > 0 {
-		lengthInBits += 8 * uint16(len(m.lifetimeSeconds))
+	if len(m.LifetimeSeconds) > 0 {
+		lengthInBits += 8 * uint16(len(m.LifetimeSeconds))
 	}
 
 	return lengthInBits
@@ -229,7 +229,7 @@ func (m BACnetConfirmedServiceRequestSubscribeCOV) Serialize(io spi.WriteBuffer)
 		}
 
 		// Simple Field (subscriberProcessIdentifier)
-		subscriberProcessIdentifier := uint8(m.subscriberProcessIdentifier)
+		subscriberProcessIdentifier := uint8(m.SubscriberProcessIdentifier)
 		_subscriberProcessIdentifierErr := io.WriteUint8(8, (subscriberProcessIdentifier))
 		if _subscriberProcessIdentifierErr != nil {
 			return errors.New("Error serializing 'subscriberProcessIdentifier' field " + _subscriberProcessIdentifierErr.Error())
@@ -242,14 +242,14 @@ func (m BACnetConfirmedServiceRequestSubscribeCOV) Serialize(io spi.WriteBuffer)
 		}
 
 		// Simple Field (monitoredObjectType)
-		monitoredObjectType := uint16(m.monitoredObjectType)
+		monitoredObjectType := uint16(m.MonitoredObjectType)
 		_monitoredObjectTypeErr := io.WriteUint16(10, (monitoredObjectType))
 		if _monitoredObjectTypeErr != nil {
 			return errors.New("Error serializing 'monitoredObjectType' field " + _monitoredObjectTypeErr.Error())
 		}
 
 		// Simple Field (monitoredObjectInstanceNumber)
-		monitoredObjectInstanceNumber := uint32(m.monitoredObjectInstanceNumber)
+		monitoredObjectInstanceNumber := uint32(m.MonitoredObjectInstanceNumber)
 		_monitoredObjectInstanceNumberErr := io.WriteUint32(22, (monitoredObjectInstanceNumber))
 		if _monitoredObjectInstanceNumberErr != nil {
 			return errors.New("Error serializing 'monitoredObjectInstanceNumber' field " + _monitoredObjectInstanceNumberErr.Error())
@@ -268,7 +268,7 @@ func (m BACnetConfirmedServiceRequestSubscribeCOV) Serialize(io spi.WriteBuffer)
 		}
 
 		// Simple Field (issueConfirmedNotifications)
-		issueConfirmedNotifications := bool(m.issueConfirmedNotifications)
+		issueConfirmedNotifications := bool(m.IssueConfirmedNotifications)
 		_issueConfirmedNotificationsErr := io.WriteBit((bool)(issueConfirmedNotifications))
 		if _issueConfirmedNotificationsErr != nil {
 			return errors.New("Error serializing 'issueConfirmedNotifications' field " + _issueConfirmedNotificationsErr.Error())
@@ -281,15 +281,15 @@ func (m BACnetConfirmedServiceRequestSubscribeCOV) Serialize(io spi.WriteBuffer)
 		}
 
 		// Simple Field (lifetimeLength)
-		lifetimeLength := uint8(m.lifetimeLength)
+		lifetimeLength := uint8(m.LifetimeLength)
 		_lifetimeLengthErr := io.WriteUint8(3, (lifetimeLength))
 		if _lifetimeLengthErr != nil {
 			return errors.New("Error serializing 'lifetimeLength' field " + _lifetimeLengthErr.Error())
 		}
 
 		// Array Field (lifetimeSeconds)
-		if m.lifetimeSeconds != nil {
-			for _, _element := range m.lifetimeSeconds {
+		if m.LifetimeSeconds != nil {
+			for _, _element := range m.LifetimeSeconds {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'lifetimeSeconds' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
index 1874ad0..06a12da 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetConfirmedServiceRequestWriteProperty.go
@@ -33,12 +33,12 @@ const BACnetConfirmedServiceRequestWriteProperty_CLOSINGTAG uint8 = 0x3F
 
 // The data-structure of this message
 type BACnetConfirmedServiceRequestWriteProperty struct {
-	objectType               uint16
-	objectInstanceNumber     uint32
-	propertyIdentifierLength uint8
-	propertyIdentifier       []int8
-	value                    IBACnetTag
-	priority                 *IBACnetTag
+	ObjectType               uint16
+	ObjectInstanceNumber     uint32
+	PropertyIdentifierLength uint8
+	PropertyIdentifier       []int8
+	Value                    IBACnetTag
+	Priority                 *IBACnetTag
 	BACnetConfirmedServiceRequest
 }
 
@@ -58,7 +58,7 @@ func (m BACnetConfirmedServiceRequestWriteProperty) initialize() spi.Message {
 }
 
 func NewBACnetConfirmedServiceRequestWriteProperty(objectType uint16, objectInstanceNumber uint32, propertyIdentifierLength uint8, propertyIdentifier []int8, value IBACnetTag, priority *IBACnetTag) BACnetConfirmedServiceRequestInitializer {
-	return &BACnetConfirmedServiceRequestWriteProperty{objectType: objectType, objectInstanceNumber: objectInstanceNumber, propertyIdentifierLength: propertyIdentifierLength, propertyIdentifier: propertyIdentifier, value: value, priority: priority}
+	return &BACnetConfirmedServiceRequestWriteProperty{ObjectType: objectType, ObjectInstanceNumber: objectInstanceNumber, PropertyIdentifierLength: propertyIdentifierLength, PropertyIdentifier: propertyIdentifier, Value: value, Priority: priority}
 }
 
 func CastIBACnetConfirmedServiceRequestWriteProperty(structType interface{}) IBACnetConfirmedServiceRequestWriteProperty {
@@ -100,22 +100,22 @@ func (m BACnetConfirmedServiceRequestWriteProperty) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Array field
-	if len(m.propertyIdentifier) > 0 {
-		lengthInBits += 8 * uint16(len(m.propertyIdentifier))
+	if len(m.PropertyIdentifier) > 0 {
+		lengthInBits += 8 * uint16(len(m.PropertyIdentifier))
 	}
 
 	// Const Field (openingTag)
 	lengthInBits += 8
 
 	// Simple field (value)
-	lengthInBits += m.value.LengthInBits()
+	lengthInBits += m.Value.LengthInBits()
 
 	// Const Field (closingTag)
 	lengthInBits += 8
 
 	// Optional Field (priority)
-	if m.priority != nil {
-		lengthInBits += (*m.priority).LengthInBits()
+	if m.Priority != nil {
+		lengthInBits += (*m.Priority).LengthInBits()
 	}
 
 	return lengthInBits
@@ -236,14 +236,14 @@ func (m BACnetConfirmedServiceRequestWriteProperty) Serialize(io spi.WriteBuffer
 		}
 
 		// Simple Field (objectType)
-		objectType := uint16(m.objectType)
+		objectType := uint16(m.ObjectType)
 		_objectTypeErr := io.WriteUint16(10, (objectType))
 		if _objectTypeErr != nil {
 			return errors.New("Error serializing 'objectType' field " + _objectTypeErr.Error())
 		}
 
 		// Simple Field (objectInstanceNumber)
-		objectInstanceNumber := uint32(m.objectInstanceNumber)
+		objectInstanceNumber := uint32(m.ObjectInstanceNumber)
 		_objectInstanceNumberErr := io.WriteUint32(22, (objectInstanceNumber))
 		if _objectInstanceNumberErr != nil {
 			return errors.New("Error serializing 'objectInstanceNumber' field " + _objectInstanceNumberErr.Error())
@@ -256,15 +256,15 @@ func (m BACnetConfirmedServiceRequestWriteProperty) Serialize(io spi.WriteBuffer
 		}
 
 		// Simple Field (propertyIdentifierLength)
-		propertyIdentifierLength := uint8(m.propertyIdentifierLength)
+		propertyIdentifierLength := uint8(m.PropertyIdentifierLength)
 		_propertyIdentifierLengthErr := io.WriteUint8(3, (propertyIdentifierLength))
 		if _propertyIdentifierLengthErr != nil {
 			return errors.New("Error serializing 'propertyIdentifierLength' field " + _propertyIdentifierLengthErr.Error())
 		}
 
 		// Array Field (propertyIdentifier)
-		if m.propertyIdentifier != nil {
-			for _, _element := range m.propertyIdentifier {
+		if m.PropertyIdentifier != nil {
+			for _, _element := range m.PropertyIdentifier {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'propertyIdentifier' field " + _elementErr.Error())
@@ -279,7 +279,7 @@ func (m BACnetConfirmedServiceRequestWriteProperty) Serialize(io spi.WriteBuffer
 		}
 
 		// Simple Field (value)
-		value := CastIBACnetTag(m.value)
+		value := CastIBACnetTag(m.Value)
 		_valueErr := value.Serialize(io)
 		if _valueErr != nil {
 			return errors.New("Error serializing 'value' field " + _valueErr.Error())
@@ -293,8 +293,8 @@ func (m BACnetConfirmedServiceRequestWriteProperty) Serialize(io spi.WriteBuffer
 
 		// Optional Field (priority) (Can be skipped, if the value is null)
 		var priority *IBACnetTag = nil
-		if m.priority != nil {
-			priority = m.priority
+		if m.Priority != nil {
+			priority = m.Priority
 			_priorityErr := CastIBACnetTag(*priority).Serialize(io)
 			if _priorityErr != nil {
 				return errors.New("Error serializing 'priority' field " + _priorityErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
index 00dbfc7..08463ac 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetErrorReadProperty.go
@@ -30,10 +30,10 @@ const BACnetErrorReadProperty_ERRORCODEHEADER uint8 = 0x12
 
 // The data-structure of this message
 type BACnetErrorReadProperty struct {
-	errorClassLength uint8
-	errorClass       []int8
-	errorCodeLength  uint8
-	errorCode        []int8
+	ErrorClassLength uint8
+	ErrorClass       []int8
+	ErrorCodeLength  uint8
+	ErrorCode        []int8
 	BACnetError
 }
 
@@ -53,7 +53,7 @@ func (m BACnetErrorReadProperty) initialize() spi.Message {
 }
 
 func NewBACnetErrorReadProperty(errorClassLength uint8, errorClass []int8, errorCodeLength uint8, errorCode []int8) BACnetErrorInitializer {
-	return &BACnetErrorReadProperty{errorClassLength: errorClassLength, errorClass: errorClass, errorCodeLength: errorCodeLength, errorCode: errorCode}
+	return &BACnetErrorReadProperty{ErrorClassLength: errorClassLength, ErrorClass: errorClass, ErrorCodeLength: errorCodeLength, ErrorCode: errorCode}
 }
 
 func CastIBACnetErrorReadProperty(structType interface{}) IBACnetErrorReadProperty {
@@ -86,8 +86,8 @@ func (m BACnetErrorReadProperty) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Array field
-	if len(m.errorClass) > 0 {
-		lengthInBits += 8 * uint16(len(m.errorClass))
+	if len(m.ErrorClass) > 0 {
+		lengthInBits += 8 * uint16(len(m.ErrorClass))
 	}
 
 	// Const Field (errorCodeHeader)
@@ -97,8 +97,8 @@ func (m BACnetErrorReadProperty) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Array field
-	if len(m.errorCode) > 0 {
-		lengthInBits += 8 * uint16(len(m.errorCode))
+	if len(m.ErrorCode) > 0 {
+		lengthInBits += 8 * uint16(len(m.ErrorCode))
 	}
 
 	return lengthInBits
@@ -178,15 +178,15 @@ func (m BACnetErrorReadProperty) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (errorClassLength)
-		errorClassLength := uint8(m.errorClassLength)
+		errorClassLength := uint8(m.ErrorClassLength)
 		_errorClassLengthErr := io.WriteUint8(3, (errorClassLength))
 		if _errorClassLengthErr != nil {
 			return errors.New("Error serializing 'errorClassLength' field " + _errorClassLengthErr.Error())
 		}
 
 		// Array Field (errorClass)
-		if m.errorClass != nil {
-			for _, _element := range m.errorClass {
+		if m.ErrorClass != nil {
+			for _, _element := range m.ErrorClass {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'errorClass' field " + _elementErr.Error())
@@ -201,15 +201,15 @@ func (m BACnetErrorReadProperty) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (errorCodeLength)
-		errorCodeLength := uint8(m.errorCodeLength)
+		errorCodeLength := uint8(m.ErrorCodeLength)
 		_errorCodeLengthErr := io.WriteUint8(3, (errorCodeLength))
 		if _errorCodeLengthErr != nil {
 			return errors.New("Error serializing 'errorCodeLength' field " + _errorCodeLengthErr.Error())
 		}
 
 		// Array Field (errorCode)
-		if m.errorCode != nil {
-			for _, _element := range m.errorCode {
+		if m.ErrorCode != nil {
+			for _, _element := range m.ErrorCode {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'errorCode' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
index 51abc3b..0005a0d 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetServiceAckReadProperty.go
@@ -33,11 +33,11 @@ const BACnetServiceAckReadProperty_CLOSINGTAG uint8 = 0x3F
 
 // The data-structure of this message
 type BACnetServiceAckReadProperty struct {
-	objectType               uint16
-	objectInstanceNumber     uint32
-	propertyIdentifierLength uint8
-	propertyIdentifier       []int8
-	value                    IBACnetTag
+	ObjectType               uint16
+	ObjectInstanceNumber     uint32
+	PropertyIdentifierLength uint8
+	PropertyIdentifier       []int8
+	Value                    IBACnetTag
 	BACnetServiceAck
 }
 
@@ -57,7 +57,7 @@ func (m BACnetServiceAckReadProperty) initialize() spi.Message {
 }
 
 func NewBACnetServiceAckReadProperty(objectType uint16, objectInstanceNumber uint32, propertyIdentifierLength uint8, propertyIdentifier []int8, value IBACnetTag) BACnetServiceAckInitializer {
-	return &BACnetServiceAckReadProperty{objectType: objectType, objectInstanceNumber: objectInstanceNumber, propertyIdentifierLength: propertyIdentifierLength, propertyIdentifier: propertyIdentifier, value: value}
+	return &BACnetServiceAckReadProperty{ObjectType: objectType, ObjectInstanceNumber: objectInstanceNumber, PropertyIdentifierLength: propertyIdentifierLength, PropertyIdentifier: propertyIdentifier, Value: value}
 }
 
 func CastIBACnetServiceAckReadProperty(structType interface{}) IBACnetServiceAckReadProperty {
@@ -99,15 +99,15 @@ func (m BACnetServiceAckReadProperty) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Array field
-	if len(m.propertyIdentifier) > 0 {
-		lengthInBits += 8 * uint16(len(m.propertyIdentifier))
+	if len(m.PropertyIdentifier) > 0 {
+		lengthInBits += 8 * uint16(len(m.PropertyIdentifier))
 	}
 
 	// Const Field (openingTag)
 	lengthInBits += 8
 
 	// Simple field (value)
-	lengthInBits += m.value.LengthInBits()
+	lengthInBits += m.Value.LengthInBits()
 
 	// Const Field (closingTag)
 	lengthInBits += 8
@@ -212,14 +212,14 @@ func (m BACnetServiceAckReadProperty) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (objectType)
-		objectType := uint16(m.objectType)
+		objectType := uint16(m.ObjectType)
 		_objectTypeErr := io.WriteUint16(10, (objectType))
 		if _objectTypeErr != nil {
 			return errors.New("Error serializing 'objectType' field " + _objectTypeErr.Error())
 		}
 
 		// Simple Field (objectInstanceNumber)
-		objectInstanceNumber := uint32(m.objectInstanceNumber)
+		objectInstanceNumber := uint32(m.ObjectInstanceNumber)
 		_objectInstanceNumberErr := io.WriteUint32(22, (objectInstanceNumber))
 		if _objectInstanceNumberErr != nil {
 			return errors.New("Error serializing 'objectInstanceNumber' field " + _objectInstanceNumberErr.Error())
@@ -232,15 +232,15 @@ func (m BACnetServiceAckReadProperty) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (propertyIdentifierLength)
-		propertyIdentifierLength := uint8(m.propertyIdentifierLength)
+		propertyIdentifierLength := uint8(m.PropertyIdentifierLength)
 		_propertyIdentifierLengthErr := io.WriteUint8(3, (propertyIdentifierLength))
 		if _propertyIdentifierLengthErr != nil {
 			return errors.New("Error serializing 'propertyIdentifierLength' field " + _propertyIdentifierLengthErr.Error())
 		}
 
 		// Array Field (propertyIdentifier)
-		if m.propertyIdentifier != nil {
-			for _, _element := range m.propertyIdentifier {
+		if m.PropertyIdentifier != nil {
+			for _, _element := range m.PropertyIdentifier {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'propertyIdentifier' field " + _elementErr.Error())
@@ -255,7 +255,7 @@ func (m BACnetServiceAckReadProperty) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (value)
-		value := CastIBACnetTag(m.value)
+		value := CastIBACnetTag(m.Value)
 		_valueErr := value.Serialize(io)
 		if _valueErr != nil {
 			return errors.New("Error serializing 'value' field " + _valueErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTag.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTag.go
index fbd96c6..d7e2543 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTag.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTag.go
@@ -25,10 +25,10 @@ import (
 
 // The data-structure of this message
 type BACnetTag struct {
-	typeOrTagNumber uint8
-	lengthValueType uint8
-	extTagNumber    *uint8
-	extLength       *uint8
+	TypeOrTagNumber uint8
+	LengthValueType uint8
+	ExtTagNumber    *uint8
+	ExtLength       *uint8
 }
 
 // The corresponding interface
@@ -79,12 +79,12 @@ func (m BACnetTag) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Optional Field (extTagNumber)
-	if m.extTagNumber != nil {
+	if m.ExtTagNumber != nil {
 		lengthInBits += 8
 	}
 
 	// Optional Field (extLength)
-	if m.extLength != nil {
+	if m.ExtLength != nil {
 		lengthInBits += 8
 	}
 
@@ -183,7 +183,7 @@ func BACnetTagParse(io *spi.ReadBuffer) (spi.Message, error) {
 func BACnetTagSerialize(io spi.WriteBuffer, m BACnetTag, i IBACnetTag, childSerialize func() error) error {
 
 	// Simple Field (typeOrTagNumber)
-	typeOrTagNumber := uint8(m.typeOrTagNumber)
+	typeOrTagNumber := uint8(m.TypeOrTagNumber)
 	_typeOrTagNumberErr := io.WriteUint8(4, (typeOrTagNumber))
 	if _typeOrTagNumberErr != nil {
 		return errors.New("Error serializing 'typeOrTagNumber' field " + _typeOrTagNumberErr.Error())
@@ -197,7 +197,7 @@ func BACnetTagSerialize(io spi.WriteBuffer, m BACnetTag, i IBACnetTag, childSeri
 	}
 
 	// Simple Field (lengthValueType)
-	lengthValueType := uint8(m.lengthValueType)
+	lengthValueType := uint8(m.LengthValueType)
 	_lengthValueTypeErr := io.WriteUint8(3, (lengthValueType))
 	if _lengthValueTypeErr != nil {
 		return errors.New("Error serializing 'lengthValueType' field " + _lengthValueTypeErr.Error())
@@ -205,8 +205,8 @@ func BACnetTagSerialize(io spi.WriteBuffer, m BACnetTag, i IBACnetTag, childSeri
 
 	// Optional Field (extTagNumber) (Can be skipped, if the value is null)
 	var extTagNumber *uint8 = nil
-	if m.extTagNumber != nil {
-		extTagNumber = m.extTagNumber
+	if m.ExtTagNumber != nil {
+		extTagNumber = m.ExtTagNumber
 		_extTagNumberErr := io.WriteUint8(8, *(extTagNumber))
 		if _extTagNumberErr != nil {
 			return errors.New("Error serializing 'extTagNumber' field " + _extTagNumberErr.Error())
@@ -215,8 +215,8 @@ func BACnetTagSerialize(io spi.WriteBuffer, m BACnetTag, i IBACnetTag, childSeri
 
 	// Optional Field (extLength) (Can be skipped, if the value is null)
 	var extLength *uint8 = nil
-	if m.extLength != nil {
-		extLength = m.extLength
+	if m.ExtLength != nil {
+		extLength = m.ExtLength
 		_extLengthErr := io.WriteUint8(8, *(extLength))
 		if _extLengthErr != nil {
 			return errors.New("Error serializing 'extLength' field " + _extLengthErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
index 4cf24be..cca75bb 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBitString.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type BACnetTagApplicationBitString struct {
-	unusedBits uint8
-	data       []int8
+	UnusedBits uint8
+	Data       []int8
 	BACnetTag
 }
 
@@ -42,15 +42,15 @@ func (m BACnetTagApplicationBitString) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationBitString) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
 func NewBACnetTagApplicationBitString(unusedBits uint8, data []int8) BACnetTagInitializer {
-	return &BACnetTagApplicationBitString{unusedBits: unusedBits, data: data}
+	return &BACnetTagApplicationBitString{UnusedBits: unusedBits, Data: data}
 }
 
 func CastIBACnetTagApplicationBitString(structType interface{}) IBACnetTagApplicationBitString {
@@ -80,8 +80,8 @@ func (m BACnetTagApplicationBitString) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.data) > 0 {
-		lengthInBits += 8 * uint16(len(m.data))
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
 	}
 
 	return lengthInBits
@@ -120,15 +120,15 @@ func (m BACnetTagApplicationBitString) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (unusedBits)
-		unusedBits := uint8(m.unusedBits)
+		unusedBits := uint8(m.UnusedBits)
 		_unusedBitsErr := io.WriteUint8(8, (unusedBits))
 		if _unusedBitsErr != nil {
 			return errors.New("Error serializing 'unusedBits' field " + _unusedBitsErr.Error())
 		}
 
 		// Array Field (data)
-		if m.data != nil {
-			for _, _element := range m.data {
+		if m.Data != nil {
+			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'data' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBoolean.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBoolean.go
index 51eaf5e..110f021 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBoolean.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationBoolean.go
@@ -39,10 +39,10 @@ func (m BACnetTagApplicationBoolean) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationBoolean) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationCharacterString.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationCharacterString.go
index 99a80db..da14aa1 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationCharacterString.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationCharacterString.go
@@ -39,10 +39,10 @@ func (m BACnetTagApplicationCharacterString) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationCharacterString) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDate.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDate.go
index ec2c3ca..ef7a14b 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDate.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDate.go
@@ -39,10 +39,10 @@ func (m BACnetTagApplicationDate) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationDate) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDouble.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDouble.go
index 97a3849..87305f0 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDouble.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationDouble.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type BACnetTagApplicationDouble struct {
-	value float64
+	Value float64
 	BACnetTag
 }
 
@@ -41,15 +41,15 @@ func (m BACnetTagApplicationDouble) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationDouble) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
 func NewBACnetTagApplicationDouble(value float64) BACnetTagInitializer {
-	return &BACnetTagApplicationDouble{value: value}
+	return &BACnetTagApplicationDouble{Value: value}
 }
 
 func CastIBACnetTagApplicationDouble(structType interface{}) IBACnetTagApplicationDouble {
@@ -101,7 +101,7 @@ func (m BACnetTagApplicationDouble) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (value)
-		value := float64(m.value)
+		value := float64(m.Value)
 		_valueErr := io.WriteFloat64(64, (value))
 		if _valueErr != nil {
 			return errors.New("Error serializing 'value' field " + _valueErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
index 36589d4..6ce6624 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationEnumerated.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type BACnetTagApplicationEnumerated struct {
-	data []int8
+	Data []int8
 	BACnetTag
 }
 
@@ -41,15 +41,15 @@ func (m BACnetTagApplicationEnumerated) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationEnumerated) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
 func NewBACnetTagApplicationEnumerated(data []int8) BACnetTagInitializer {
-	return &BACnetTagApplicationEnumerated{data: data}
+	return &BACnetTagApplicationEnumerated{Data: data}
 }
 
 func CastIBACnetTagApplicationEnumerated(structType interface{}) IBACnetTagApplicationEnumerated {
@@ -76,8 +76,8 @@ func (m BACnetTagApplicationEnumerated) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.BACnetTag.LengthInBits()
 
 	// Array field
-	if len(m.data) > 0 {
-		lengthInBits += 8 * uint16(len(m.data))
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
 	}
 
 	return lengthInBits
@@ -110,8 +110,8 @@ func (m BACnetTagApplicationEnumerated) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Array Field (data)
-		if m.data != nil {
-			for _, _element := range m.data {
+		if m.Data != nil {
+			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'data' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationNull.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationNull.go
index e266af6..ede1349 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationNull.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationNull.go
@@ -39,10 +39,10 @@ func (m BACnetTagApplicationNull) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationNull) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationObjectIdentifier.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationObjectIdentifier.go
index 005dce8..2ee5ff2 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationObjectIdentifier.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationObjectIdentifier.go
@@ -39,10 +39,10 @@ func (m BACnetTagApplicationObjectIdentifier) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationObjectIdentifier) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationOctetString.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationOctetString.go
index cd34a0a..d2a49d6 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationOctetString.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationOctetString.go
@@ -39,10 +39,10 @@ func (m BACnetTagApplicationOctetString) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationOctetString) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationReal.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationReal.go
index 2617ccb..1c02f9c 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationReal.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationReal.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type BACnetTagApplicationReal struct {
-	value float32
+	Value float32
 	BACnetTag
 }
 
@@ -41,15 +41,15 @@ func (m BACnetTagApplicationReal) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationReal) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
 func NewBACnetTagApplicationReal(value float32) BACnetTagInitializer {
-	return &BACnetTagApplicationReal{value: value}
+	return &BACnetTagApplicationReal{Value: value}
 }
 
 func CastIBACnetTagApplicationReal(structType interface{}) IBACnetTagApplicationReal {
@@ -101,7 +101,7 @@ func (m BACnetTagApplicationReal) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (value)
-		value := float32(m.value)
+		value := float32(m.Value)
 		_valueErr := io.WriteFloat32(32, (value))
 		if _valueErr != nil {
 			return errors.New("Error serializing 'value' field " + _valueErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
index 301b39a..9d47d6d 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationSignedInteger.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type BACnetTagApplicationSignedInteger struct {
-	data []int8
+	Data []int8
 	BACnetTag
 }
 
@@ -41,15 +41,15 @@ func (m BACnetTagApplicationSignedInteger) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationSignedInteger) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
 func NewBACnetTagApplicationSignedInteger(data []int8) BACnetTagInitializer {
-	return &BACnetTagApplicationSignedInteger{data: data}
+	return &BACnetTagApplicationSignedInteger{Data: data}
 }
 
 func CastIBACnetTagApplicationSignedInteger(structType interface{}) IBACnetTagApplicationSignedInteger {
@@ -76,8 +76,8 @@ func (m BACnetTagApplicationSignedInteger) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.BACnetTag.LengthInBits()
 
 	// Array field
-	if len(m.data) > 0 {
-		lengthInBits += 8 * uint16(len(m.data))
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
 	}
 
 	return lengthInBits
@@ -110,8 +110,8 @@ func (m BACnetTagApplicationSignedInteger) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Array Field (data)
-		if m.data != nil {
-			for _, _element := range m.data {
+		if m.Data != nil {
+			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'data' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationTime.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationTime.go
index 0df3b25..fb60560 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationTime.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationTime.go
@@ -39,10 +39,10 @@ func (m BACnetTagApplicationTime) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationTime) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
index eaa2884..67e5e41 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagApplicationUnsignedInteger.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type BACnetTagApplicationUnsignedInteger struct {
-	data []int8
+	Data []int8
 	BACnetTag
 }
 
@@ -41,15 +41,15 @@ func (m BACnetTagApplicationUnsignedInteger) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagApplicationUnsignedInteger) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
 func NewBACnetTagApplicationUnsignedInteger(data []int8) BACnetTagInitializer {
-	return &BACnetTagApplicationUnsignedInteger{data: data}
+	return &BACnetTagApplicationUnsignedInteger{Data: data}
 }
 
 func CastIBACnetTagApplicationUnsignedInteger(structType interface{}) IBACnetTagApplicationUnsignedInteger {
@@ -76,8 +76,8 @@ func (m BACnetTagApplicationUnsignedInteger) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.BACnetTag.LengthInBits()
 
 	// Array field
-	if len(m.data) > 0 {
-		lengthInBits += 8 * uint16(len(m.data))
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
 	}
 
 	return lengthInBits
@@ -110,8 +110,8 @@ func (m BACnetTagApplicationUnsignedInteger) Serialize(io spi.WriteBuffer) error
 	ser := func() error {
 
 		// Array Field (data)
-		if m.data != nil {
-			for _, _element := range m.data {
+		if m.Data != nil {
+			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'data' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
index f1aa58f..08c8282 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagContext.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type BACnetTagContext struct {
-	data []int8
+	Data []int8
 	BACnetTag
 }
 
@@ -41,15 +41,15 @@ func (m BACnetTagContext) ContextSpecificTag() uint8 {
 }
 
 func (m BACnetTagContext) initialize(typeOrTagNumber uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8) spi.Message {
-	m.typeOrTagNumber = typeOrTagNumber
-	m.lengthValueType = lengthValueType
-	m.extTagNumber = extTagNumber
-	m.extLength = extLength
+	m.TypeOrTagNumber = typeOrTagNumber
+	m.LengthValueType = lengthValueType
+	m.ExtTagNumber = extTagNumber
+	m.ExtLength = extLength
 	return m
 }
 
 func NewBACnetTagContext(data []int8) BACnetTagInitializer {
-	return &BACnetTagContext{data: data}
+	return &BACnetTagContext{Data: data}
 }
 
 func CastIBACnetTagContext(structType interface{}) IBACnetTagContext {
@@ -76,8 +76,8 @@ func (m BACnetTagContext) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.BACnetTag.LengthInBits()
 
 	// Array field
-	if len(m.data) > 0 {
-		lengthInBits += 8 * uint16(len(m.data))
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
 	}
 
 	return lengthInBits
@@ -110,8 +110,8 @@ func (m BACnetTagContext) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Array Field (data)
-		if m.data != nil {
-			for _, _element := range m.data {
+		if m.Data != nil {
+			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'data' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
index f2d3983..24a6df8 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTagWithContent.go
@@ -31,13 +31,13 @@ const BACnetTagWithContent_CLOSINGTAG uint8 = 0x2f
 
 // The data-structure of this message
 type BACnetTagWithContent struct {
-	typeOrTagNumber    uint8
-	contextSpecificTag uint8
-	lengthValueType    uint8
-	extTagNumber       *uint8
-	extLength          *uint8
-	propertyIdentifier []uint8
-	value              IBACnetTag
+	TypeOrTagNumber    uint8
+	ContextSpecificTag uint8
+	LengthValueType    uint8
+	ExtTagNumber       *uint8
+	ExtLength          *uint8
+	PropertyIdentifier []uint8
+	Value              IBACnetTag
 }
 
 // The corresponding interface
@@ -47,7 +47,7 @@ type IBACnetTagWithContent interface {
 }
 
 func NewBACnetTagWithContent(typeOrTagNumber uint8, contextSpecificTag uint8, lengthValueType uint8, extTagNumber *uint8, extLength *uint8, propertyIdentifier []uint8, value IBACnetTag) spi.Message {
-	return &BACnetTagWithContent{typeOrTagNumber: typeOrTagNumber, contextSpecificTag: contextSpecificTag, lengthValueType: lengthValueType, extTagNumber: extTagNumber, extLength: extLength, propertyIdentifier: propertyIdentifier, value: value}
+	return &BACnetTagWithContent{TypeOrTagNumber: typeOrTagNumber, ContextSpecificTag: contextSpecificTag, LengthValueType: lengthValueType, ExtTagNumber: extTagNumber, ExtLength: extLength, PropertyIdentifier: propertyIdentifier, Value: value}
 }
 
 func CastIBACnetTagWithContent(structType interface{}) IBACnetTagWithContent {
@@ -83,25 +83,25 @@ func (m BACnetTagWithContent) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Optional Field (extTagNumber)
-	if m.extTagNumber != nil {
+	if m.ExtTagNumber != nil {
 		lengthInBits += 8
 	}
 
 	// Optional Field (extLength)
-	if m.extLength != nil {
+	if m.ExtLength != nil {
 		lengthInBits += 8
 	}
 
 	// Array field
-	if len(m.propertyIdentifier) > 0 {
-		lengthInBits += 8 * uint16(len(m.propertyIdentifier))
+	if len(m.PropertyIdentifier) > 0 {
+		lengthInBits += 8 * uint16(len(m.PropertyIdentifier))
 	}
 
 	// Const Field (openTag)
 	lengthInBits += 8
 
 	// Simple field (value)
-	lengthInBits += m.value.LengthInBits()
+	lengthInBits += m.Value.LengthInBits()
 
 	// Const Field (closingTag)
 	lengthInBits += 8
@@ -204,21 +204,21 @@ func BACnetTagWithContentParse(io *spi.ReadBuffer) (spi.Message, error) {
 func (m BACnetTagWithContent) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (typeOrTagNumber)
-	typeOrTagNumber := uint8(m.typeOrTagNumber)
+	typeOrTagNumber := uint8(m.TypeOrTagNumber)
 	_typeOrTagNumberErr := io.WriteUint8(4, (typeOrTagNumber))
 	if _typeOrTagNumberErr != nil {
 		return errors.New("Error serializing 'typeOrTagNumber' field " + _typeOrTagNumberErr.Error())
 	}
 
 	// Simple Field (contextSpecificTag)
-	contextSpecificTag := uint8(m.contextSpecificTag)
+	contextSpecificTag := uint8(m.ContextSpecificTag)
 	_contextSpecificTagErr := io.WriteUint8(1, (contextSpecificTag))
 	if _contextSpecificTagErr != nil {
 		return errors.New("Error serializing 'contextSpecificTag' field " + _contextSpecificTagErr.Error())
 	}
 
 	// Simple Field (lengthValueType)
-	lengthValueType := uint8(m.lengthValueType)
+	lengthValueType := uint8(m.LengthValueType)
 	_lengthValueTypeErr := io.WriteUint8(3, (lengthValueType))
 	if _lengthValueTypeErr != nil {
 		return errors.New("Error serializing 'lengthValueType' field " + _lengthValueTypeErr.Error())
@@ -226,8 +226,8 @@ func (m BACnetTagWithContent) Serialize(io spi.WriteBuffer) error {
 
 	// Optional Field (extTagNumber) (Can be skipped, if the value is null)
 	var extTagNumber *uint8 = nil
-	if m.extTagNumber != nil {
-		extTagNumber = m.extTagNumber
+	if m.ExtTagNumber != nil {
+		extTagNumber = m.ExtTagNumber
 		_extTagNumberErr := io.WriteUint8(8, *(extTagNumber))
 		if _extTagNumberErr != nil {
 			return errors.New("Error serializing 'extTagNumber' field " + _extTagNumberErr.Error())
@@ -236,8 +236,8 @@ func (m BACnetTagWithContent) Serialize(io spi.WriteBuffer) error {
 
 	// Optional Field (extLength) (Can be skipped, if the value is null)
 	var extLength *uint8 = nil
-	if m.extLength != nil {
-		extLength = m.extLength
+	if m.ExtLength != nil {
+		extLength = m.ExtLength
 		_extLengthErr := io.WriteUint8(8, *(extLength))
 		if _extLengthErr != nil {
 			return errors.New("Error serializing 'extLength' field " + _extLengthErr.Error())
@@ -245,8 +245,8 @@ func (m BACnetTagWithContent) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Array Field (propertyIdentifier)
-	if m.propertyIdentifier != nil {
-		for _, _element := range m.propertyIdentifier {
+	if m.PropertyIdentifier != nil {
+		for _, _element := range m.PropertyIdentifier {
 			_elementErr := io.WriteUint8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'propertyIdentifier' field " + _elementErr.Error())
@@ -261,7 +261,7 @@ func (m BACnetTagWithContent) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (value)
-	value := CastIBACnetTag(m.value)
+	value := CastIBACnetTag(m.Value)
 	_valueErr := value.Serialize(io)
 	if _valueErr != nil {
 		return errors.New("Error serializing 'value' field " + _valueErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
index 519144a..2b5c8cc 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestIAm.go
@@ -32,12 +32,12 @@ const BACnetUnconfirmedServiceRequestIAm_VENDORIDHEADER uint8 = 0x21
 
 // The data-structure of this message
 type BACnetUnconfirmedServiceRequestIAm struct {
-	objectType                      uint16
-	objectInstanceNumber            uint32
-	maximumApduLengthAcceptedLength uint8
-	maximumApduLengthAccepted       []int8
-	segmentationSupported           uint8
-	vendorId                        uint8
+	ObjectType                      uint16
+	ObjectInstanceNumber            uint32
+	MaximumApduLengthAcceptedLength uint8
+	MaximumApduLengthAccepted       []int8
+	SegmentationSupported           uint8
+	VendorId                        uint8
 	BACnetUnconfirmedServiceRequest
 }
 
@@ -57,7 +57,7 @@ func (m BACnetUnconfirmedServiceRequestIAm) initialize() spi.Message {
 }
 
 func NewBACnetUnconfirmedServiceRequestIAm(objectType uint16, objectInstanceNumber uint32, maximumApduLengthAcceptedLength uint8, maximumApduLengthAccepted []int8, segmentationSupported uint8, vendorId uint8) BACnetUnconfirmedServiceRequestInitializer {
-	return &BACnetUnconfirmedServiceRequestIAm{objectType: objectType, objectInstanceNumber: objectInstanceNumber, maximumApduLengthAcceptedLength: maximumApduLengthAcceptedLength, maximumApduLengthAccepted: maximumApduLengthAccepted, segmentationSupported: segmentationSupported, vendorId: vendorId}
+	return &BACnetUnconfirmedServiceRequestIAm{ObjectType: objectType, ObjectInstanceNumber: objectInstanceNumber, MaximumApduLengthAcceptedLength: maximumApduLengthAcceptedLength, MaximumApduLengthAccepted: maximumApduLengthAccepted, SegmentationSupported: segmentationSupported, VendorId: vendorId}
 }
 
 func CastIBACnetUnconfirmedServiceRequestIAm(structType interface{}) IBACnetUnconfirmedServiceRequestIAm {
@@ -99,8 +99,8 @@ func (m BACnetUnconfirmedServiceRequestIAm) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Array field
-	if len(m.maximumApduLengthAccepted) > 0 {
-		lengthInBits += 8 * uint16(len(m.maximumApduLengthAccepted))
+	if len(m.MaximumApduLengthAccepted) > 0 {
+		lengthInBits += 8 * uint16(len(m.MaximumApduLengthAccepted))
 	}
 
 	// Const Field (segmentationSupportedHeader)
@@ -216,14 +216,14 @@ func (m BACnetUnconfirmedServiceRequestIAm) Serialize(io spi.WriteBuffer) error
 		}
 
 		// Simple Field (objectType)
-		objectType := uint16(m.objectType)
+		objectType := uint16(m.ObjectType)
 		_objectTypeErr := io.WriteUint16(10, (objectType))
 		if _objectTypeErr != nil {
 			return errors.New("Error serializing 'objectType' field " + _objectTypeErr.Error())
 		}
 
 		// Simple Field (objectInstanceNumber)
-		objectInstanceNumber := uint32(m.objectInstanceNumber)
+		objectInstanceNumber := uint32(m.ObjectInstanceNumber)
 		_objectInstanceNumberErr := io.WriteUint32(22, (objectInstanceNumber))
 		if _objectInstanceNumberErr != nil {
 			return errors.New("Error serializing 'objectInstanceNumber' field " + _objectInstanceNumberErr.Error())
@@ -236,15 +236,15 @@ func (m BACnetUnconfirmedServiceRequestIAm) Serialize(io spi.WriteBuffer) error
 		}
 
 		// Simple Field (maximumApduLengthAcceptedLength)
-		maximumApduLengthAcceptedLength := uint8(m.maximumApduLengthAcceptedLength)
+		maximumApduLengthAcceptedLength := uint8(m.MaximumApduLengthAcceptedLength)
 		_maximumApduLengthAcceptedLengthErr := io.WriteUint8(3, (maximumApduLengthAcceptedLength))
 		if _maximumApduLengthAcceptedLengthErr != nil {
 			return errors.New("Error serializing 'maximumApduLengthAcceptedLength' field " + _maximumApduLengthAcceptedLengthErr.Error())
 		}
 
 		// Array Field (maximumApduLengthAccepted)
-		if m.maximumApduLengthAccepted != nil {
-			for _, _element := range m.maximumApduLengthAccepted {
+		if m.MaximumApduLengthAccepted != nil {
+			for _, _element := range m.MaximumApduLengthAccepted {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'maximumApduLengthAccepted' field " + _elementErr.Error())
@@ -259,7 +259,7 @@ func (m BACnetUnconfirmedServiceRequestIAm) Serialize(io spi.WriteBuffer) error
 		}
 
 		// Simple Field (segmentationSupported)
-		segmentationSupported := uint8(m.segmentationSupported)
+		segmentationSupported := uint8(m.SegmentationSupported)
 		_segmentationSupportedErr := io.WriteUint8(8, (segmentationSupported))
 		if _segmentationSupportedErr != nil {
 			return errors.New("Error serializing 'segmentationSupported' field " + _segmentationSupportedErr.Error())
@@ -272,7 +272,7 @@ func (m BACnetUnconfirmedServiceRequestIAm) Serialize(io spi.WriteBuffer) error
 		}
 
 		// Simple Field (vendorId)
-		vendorId := uint8(m.vendorId)
+		vendorId := uint8(m.VendorId)
 		_vendorIdErr := io.WriteUint8(8, (vendorId))
 		if _vendorIdErr != nil {
 			return errors.New("Error serializing 'vendorId' field " + _vendorIdErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
index f3cde16..d8762ee 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer.go
@@ -32,9 +32,9 @@ const BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer_LISTOFVALUESCLOS
 
 // The data-structure of this message
 type BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer struct {
-	vendorId      uint8
-	serviceNumber uint16
-	values        []int8
+	VendorId      uint8
+	ServiceNumber uint16
+	Values        []int8
 	BACnetUnconfirmedServiceRequest
 }
 
@@ -54,7 +54,7 @@ func (m BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer) initialize()
 }
 
 func NewBACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer(vendorId uint8, serviceNumber uint16, values []int8) BACnetUnconfirmedServiceRequestInitializer {
-	return &BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer{vendorId: vendorId, serviceNumber: serviceNumber, values: values}
+	return &BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer{VendorId: vendorId, ServiceNumber: serviceNumber, Values: values}
 }
 
 func CastIBACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer(structType interface{}) IBACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer {
@@ -96,8 +96,8 @@ func (m BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer) LengthInBits(
 	lengthInBits += 8
 
 	// Array field
-	if len(m.values) > 0 {
-		lengthInBits += 8 * uint16(len(m.values))
+	if len(m.Values) > 0 {
+		lengthInBits += 8 * uint16(len(m.Values))
 	}
 
 	// Const Field (listOfValuesClosingTag)
@@ -187,7 +187,7 @@ func (m BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer) Serialize(io
 		}
 
 		// Simple Field (vendorId)
-		vendorId := uint8(m.vendorId)
+		vendorId := uint8(m.VendorId)
 		_vendorIdErr := io.WriteUint8(8, (vendorId))
 		if _vendorIdErr != nil {
 			return errors.New("Error serializing 'vendorId' field " + _vendorIdErr.Error())
@@ -200,7 +200,7 @@ func (m BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer) Serialize(io
 		}
 
 		// Simple Field (serviceNumber)
-		serviceNumber := uint16(m.serviceNumber)
+		serviceNumber := uint16(m.ServiceNumber)
 		_serviceNumberErr := io.WriteUint16(16, (serviceNumber))
 		if _serviceNumberErr != nil {
 			return errors.New("Error serializing 'serviceNumber' field " + _serviceNumberErr.Error())
@@ -213,8 +213,8 @@ func (m BACnetUnconfirmedServiceRequestUnconfirmedPrivateTransfer) Serialize(io
 		}
 
 		// Array Field (values)
-		if m.values != nil {
-			for _, _element := range m.values {
+		if m.Values != nil {
+			for _, _element := range m.Values {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'values' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
index cfb74b5..959f99f 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHas.go
@@ -31,10 +31,10 @@ const BACnetUnconfirmedServiceRequestWhoHas_OBJECTNAMEHEADER uint8 = 0x3D
 
 // The data-structure of this message
 type BACnetUnconfirmedServiceRequestWhoHas struct {
-	deviceInstanceLowLimit  uint32
-	deviceInstanceHighLimit uint32
-	objectNameCharacterSet  uint8
-	objectName              []int8
+	DeviceInstanceLowLimit  uint32
+	DeviceInstanceHighLimit uint32
+	ObjectNameCharacterSet  uint8
+	ObjectName              []int8
 	BACnetUnconfirmedServiceRequest
 }
 
@@ -54,7 +54,7 @@ func (m BACnetUnconfirmedServiceRequestWhoHas) initialize() spi.Message {
 }
 
 func NewBACnetUnconfirmedServiceRequestWhoHas(deviceInstanceLowLimit uint32, deviceInstanceHighLimit uint32, objectNameCharacterSet uint8, objectName []int8) BACnetUnconfirmedServiceRequestInitializer {
-	return &BACnetUnconfirmedServiceRequestWhoHas{deviceInstanceLowLimit: deviceInstanceLowLimit, deviceInstanceHighLimit: deviceInstanceHighLimit, objectNameCharacterSet: objectNameCharacterSet, objectName: objectName}
+	return &BACnetUnconfirmedServiceRequestWhoHas{DeviceInstanceLowLimit: deviceInstanceLowLimit, DeviceInstanceHighLimit: deviceInstanceHighLimit, ObjectNameCharacterSet: objectNameCharacterSet, ObjectName: objectName}
 }
 
 func CastIBACnetUnconfirmedServiceRequestWhoHas(structType interface{}) IBACnetUnconfirmedServiceRequestWhoHas {
@@ -102,8 +102,8 @@ func (m BACnetUnconfirmedServiceRequestWhoHas) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.objectName) > 0 {
-		lengthInBits += 8 * uint16(len(m.objectName))
+	if len(m.ObjectName) > 0 {
+		lengthInBits += 8 * uint16(len(m.ObjectName))
 	}
 
 	return lengthInBits
@@ -193,7 +193,7 @@ func (m BACnetUnconfirmedServiceRequestWhoHas) Serialize(io spi.WriteBuffer) err
 		}
 
 		// Simple Field (deviceInstanceLowLimit)
-		deviceInstanceLowLimit := uint32(m.deviceInstanceLowLimit)
+		deviceInstanceLowLimit := uint32(m.DeviceInstanceLowLimit)
 		_deviceInstanceLowLimitErr := io.WriteUint32(24, (deviceInstanceLowLimit))
 		if _deviceInstanceLowLimitErr != nil {
 			return errors.New("Error serializing 'deviceInstanceLowLimit' field " + _deviceInstanceLowLimitErr.Error())
@@ -206,7 +206,7 @@ func (m BACnetUnconfirmedServiceRequestWhoHas) Serialize(io spi.WriteBuffer) err
 		}
 
 		// Simple Field (deviceInstanceHighLimit)
-		deviceInstanceHighLimit := uint32(m.deviceInstanceHighLimit)
+		deviceInstanceHighLimit := uint32(m.DeviceInstanceHighLimit)
 		_deviceInstanceHighLimitErr := io.WriteUint32(24, (deviceInstanceHighLimit))
 		if _deviceInstanceHighLimitErr != nil {
 			return errors.New("Error serializing 'deviceInstanceHighLimit' field " + _deviceInstanceHighLimitErr.Error())
@@ -219,22 +219,22 @@ func (m BACnetUnconfirmedServiceRequestWhoHas) Serialize(io spi.WriteBuffer) err
 		}
 
 		// Implicit Field (objectNameLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		objectNameLength := uint8(uint8(uint8(len(m.objectName))) + uint8(uint8(1)))
+		objectNameLength := uint8(uint8(uint8(len(m.ObjectName))) + uint8(uint8(1)))
 		_objectNameLengthErr := io.WriteUint8(8, (objectNameLength))
 		if _objectNameLengthErr != nil {
 			return errors.New("Error serializing 'objectNameLength' field " + _objectNameLengthErr.Error())
 		}
 
 		// Simple Field (objectNameCharacterSet)
-		objectNameCharacterSet := uint8(m.objectNameCharacterSet)
+		objectNameCharacterSet := uint8(m.ObjectNameCharacterSet)
 		_objectNameCharacterSetErr := io.WriteUint8(8, (objectNameCharacterSet))
 		if _objectNameCharacterSetErr != nil {
 			return errors.New("Error serializing 'objectNameCharacterSet' field " + _objectNameCharacterSetErr.Error())
 		}
 
 		// Array Field (objectName)
-		if m.objectName != nil {
-			for _, _element := range m.objectName {
+		if m.ObjectName != nil {
+			for _, _element := range m.ObjectName {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'objectName' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
index f49effb..c69e690 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoIs.go
@@ -30,10 +30,10 @@ const BACnetUnconfirmedServiceRequestWhoIs_DEVICEINSTANCERANGEHIGHLIMITHEADER ui
 
 // The data-structure of this message
 type BACnetUnconfirmedServiceRequestWhoIs struct {
-	deviceInstanceRangeLowLimitLength  uint8
-	deviceInstanceRangeLowLimit        []int8
-	deviceInstanceRangeHighLimitLength uint8
-	deviceInstanceRangeHighLimit       []int8
+	DeviceInstanceRangeLowLimitLength  uint8
+	DeviceInstanceRangeLowLimit        []int8
+	DeviceInstanceRangeHighLimitLength uint8
+	DeviceInstanceRangeHighLimit       []int8
 	BACnetUnconfirmedServiceRequest
 }
 
@@ -53,7 +53,7 @@ func (m BACnetUnconfirmedServiceRequestWhoIs) initialize() spi.Message {
 }
 
 func NewBACnetUnconfirmedServiceRequestWhoIs(deviceInstanceRangeLowLimitLength uint8, deviceInstanceRangeLowLimit []int8, deviceInstanceRangeHighLimitLength uint8, deviceInstanceRangeHighLimit []int8) BACnetUnconfirmedServiceRequestInitializer {
-	return &BACnetUnconfirmedServiceRequestWhoIs{deviceInstanceRangeLowLimitLength: deviceInstanceRangeLowLimitLength, deviceInstanceRangeLowLimit: deviceInstanceRangeLowLimit, deviceInstanceRangeHighLimitLength: deviceInstanceRangeHighLimitLength, deviceInstanceRangeHighLimit: deviceInstanceRangeHighLimit}
+	return &BACnetUnconfirmedServiceRequestWhoIs{DeviceInstanceRangeLowLimitLength: deviceInstanceRangeLowLimitLength, DeviceInstanceRangeLowLimit: deviceInstanceRangeLowLimit, DeviceInstanceRangeHighLimitLength: deviceInstanceRangeHighLimitLength, DeviceInstanceRangeHighLimit: deviceInstanceRangeHighLimit}
 }
 
 func CastIBACnetUnconfirmedServiceRequestWhoIs(structType interface{}) IBACnetUnconfirmedServiceRequestWhoIs {
@@ -86,8 +86,8 @@ func (m BACnetUnconfirmedServiceRequestWhoIs) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Array field
-	if len(m.deviceInstanceRangeLowLimit) > 0 {
-		lengthInBits += 8 * uint16(len(m.deviceInstanceRangeLowLimit))
+	if len(m.DeviceInstanceRangeLowLimit) > 0 {
+		lengthInBits += 8 * uint16(len(m.DeviceInstanceRangeLowLimit))
 	}
 
 	// Const Field (deviceInstanceRangeHighLimitHeader)
@@ -97,8 +97,8 @@ func (m BACnetUnconfirmedServiceRequestWhoIs) LengthInBits() uint16 {
 	lengthInBits += 3
 
 	// Array field
-	if len(m.deviceInstanceRangeHighLimit) > 0 {
-		lengthInBits += 8 * uint16(len(m.deviceInstanceRangeHighLimit))
+	if len(m.DeviceInstanceRangeHighLimit) > 0 {
+		lengthInBits += 8 * uint16(len(m.DeviceInstanceRangeHighLimit))
 	}
 
 	return lengthInBits
@@ -178,15 +178,15 @@ func (m BACnetUnconfirmedServiceRequestWhoIs) Serialize(io spi.WriteBuffer) erro
 		}
 
 		// Simple Field (deviceInstanceRangeLowLimitLength)
-		deviceInstanceRangeLowLimitLength := uint8(m.deviceInstanceRangeLowLimitLength)
+		deviceInstanceRangeLowLimitLength := uint8(m.DeviceInstanceRangeLowLimitLength)
 		_deviceInstanceRangeLowLimitLengthErr := io.WriteUint8(3, (deviceInstanceRangeLowLimitLength))
 		if _deviceInstanceRangeLowLimitLengthErr != nil {
 			return errors.New("Error serializing 'deviceInstanceRangeLowLimitLength' field " + _deviceInstanceRangeLowLimitLengthErr.Error())
 		}
 
 		// Array Field (deviceInstanceRangeLowLimit)
-		if m.deviceInstanceRangeLowLimit != nil {
-			for _, _element := range m.deviceInstanceRangeLowLimit {
+		if m.DeviceInstanceRangeLowLimit != nil {
+			for _, _element := range m.DeviceInstanceRangeLowLimit {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'deviceInstanceRangeLowLimit' field " + _elementErr.Error())
@@ -201,15 +201,15 @@ func (m BACnetUnconfirmedServiceRequestWhoIs) Serialize(io spi.WriteBuffer) erro
 		}
 
 		// Simple Field (deviceInstanceRangeHighLimitLength)
-		deviceInstanceRangeHighLimitLength := uint8(m.deviceInstanceRangeHighLimitLength)
+		deviceInstanceRangeHighLimitLength := uint8(m.DeviceInstanceRangeHighLimitLength)
 		_deviceInstanceRangeHighLimitLengthErr := io.WriteUint8(3, (deviceInstanceRangeHighLimitLength))
 		if _deviceInstanceRangeHighLimitLengthErr != nil {
 			return errors.New("Error serializing 'deviceInstanceRangeHighLimitLength' field " + _deviceInstanceRangeHighLimitLengthErr.Error())
 		}
 
 		// Array Field (deviceInstanceRangeHighLimit)
-		if m.deviceInstanceRangeHighLimit != nil {
-			for _, _element := range m.deviceInstanceRangeHighLimit {
+		if m.DeviceInstanceRangeHighLimit != nil {
+			for _, _element := range m.DeviceInstanceRangeHighLimit {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'deviceInstanceRangeHighLimit' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
index 3c66936..2d43207 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCForwardedNPDU.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type BVLCForwardedNPDU struct {
-	ip   []uint8
-	port uint16
-	npdu INPDU
+	Ip   []uint8
+	Port uint16
+	Npdu INPDU
 	BVLC
 }
 
@@ -48,7 +48,7 @@ func (m BVLCForwardedNPDU) initialize() spi.Message {
 }
 
 func NewBVLCForwardedNPDU(ip []uint8, port uint16, npdu INPDU) BVLCInitializer {
-	return &BVLCForwardedNPDU{ip: ip, port: port, npdu: npdu}
+	return &BVLCForwardedNPDU{Ip: ip, Port: port, Npdu: npdu}
 }
 
 func CastIBVLCForwardedNPDU(structType interface{}) IBVLCForwardedNPDU {
@@ -75,15 +75,15 @@ func (m BVLCForwardedNPDU) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.BVLC.LengthInBits()
 
 	// Array field
-	if len(m.ip) > 0 {
-		lengthInBits += 8 * uint16(len(m.ip))
+	if len(m.Ip) > 0 {
+		lengthInBits += 8 * uint16(len(m.Ip))
 	}
 
 	// Simple field (port)
 	lengthInBits += 16
 
 	// Simple field (npdu)
-	lengthInBits += m.npdu.LengthInBits()
+	lengthInBits += m.Npdu.LengthInBits()
 
 	return lengthInBits
 }
@@ -131,8 +131,8 @@ func (m BVLCForwardedNPDU) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Array Field (ip)
-		if m.ip != nil {
-			for _, _element := range m.ip {
+		if m.Ip != nil {
+			for _, _element := range m.Ip {
 				_elementErr := io.WriteUint8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'ip' field " + _elementErr.Error())
@@ -141,14 +141,14 @@ func (m BVLCForwardedNPDU) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (port)
-		port := uint16(m.port)
+		port := uint16(m.Port)
 		_portErr := io.WriteUint16(16, (port))
 		if _portErr != nil {
 			return errors.New("Error serializing 'port' field " + _portErr.Error())
 		}
 
 		// Simple Field (npdu)
-		npdu := CastINPDU(m.npdu)
+		npdu := CastINPDU(m.Npdu)
 		_npduErr := npdu.Serialize(io)
 		if _npduErr != nil {
 			return errors.New("Error serializing 'npdu' field " + _npduErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go
index 78c805d..cedcc18 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalBroadcastNPDU.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type BVLCOriginalBroadcastNPDU struct {
-	npdu INPDU
+	Npdu INPDU
 	BVLC
 }
 
@@ -46,7 +46,7 @@ func (m BVLCOriginalBroadcastNPDU) initialize() spi.Message {
 }
 
 func NewBVLCOriginalBroadcastNPDU(npdu INPDU) BVLCInitializer {
-	return &BVLCOriginalBroadcastNPDU{npdu: npdu}
+	return &BVLCOriginalBroadcastNPDU{Npdu: npdu}
 }
 
 func CastIBVLCOriginalBroadcastNPDU(structType interface{}) IBVLCOriginalBroadcastNPDU {
@@ -73,7 +73,7 @@ func (m BVLCOriginalBroadcastNPDU) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.BVLC.LengthInBits()
 
 	// Simple field (npdu)
-	lengthInBits += m.npdu.LengthInBits()
+	lengthInBits += m.Npdu.LengthInBits()
 
 	return lengthInBits
 }
@@ -103,7 +103,7 @@ func (m BVLCOriginalBroadcastNPDU) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (npdu)
-		npdu := CastINPDU(m.npdu)
+		npdu := CastINPDU(m.Npdu)
 		_npduErr := npdu.Serialize(io)
 		if _npduErr != nil {
 			return errors.New("Error serializing 'npdu' field " + _npduErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go
index 4a0956e..5955bdf 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/BVLCOriginalUnicastNPDU.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type BVLCOriginalUnicastNPDU struct {
-	npdu INPDU
+	Npdu INPDU
 	BVLC
 }
 
@@ -46,7 +46,7 @@ func (m BVLCOriginalUnicastNPDU) initialize() spi.Message {
 }
 
 func NewBVLCOriginalUnicastNPDU(npdu INPDU) BVLCInitializer {
-	return &BVLCOriginalUnicastNPDU{npdu: npdu}
+	return &BVLCOriginalUnicastNPDU{Npdu: npdu}
 }
 
 func CastIBVLCOriginalUnicastNPDU(structType interface{}) IBVLCOriginalUnicastNPDU {
@@ -73,7 +73,7 @@ func (m BVLCOriginalUnicastNPDU) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.BVLC.LengthInBits()
 
 	// Simple field (npdu)
-	lengthInBits += m.npdu.LengthInBits()
+	lengthInBits += m.Npdu.LengthInBits()
 
 	return lengthInBits
 }
@@ -103,7 +103,7 @@ func (m BVLCOriginalUnicastNPDU) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (npdu)
-		npdu := CastINPDU(m.npdu)
+		npdu := CastINPDU(m.Npdu)
 		_npduErr := npdu.Serialize(io)
 		if _npduErr != nil {
 			return errors.New("Error serializing 'npdu' field " + _npduErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
index 4cc09fc..e70bafc 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLM.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type NLM struct {
-	vendorId *uint16
+	VendorId *uint16
 }
 
 // The corresponding interface
@@ -70,7 +70,7 @@ func (m NLM) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Optional Field (vendorId)
-	if m.vendorId != nil {
+	if m.VendorId != nil {
 		lengthInBits += 16
 	}
 
@@ -130,8 +130,8 @@ func NLMSerialize(io spi.WriteBuffer, m NLM, i INLM, childSerialize func() error
 
 	// Optional Field (vendorId) (Can be skipped, if the value is null)
 	var vendorId *uint16 = nil
-	if m.vendorId != nil {
-		vendorId = m.vendorId
+	if m.VendorId != nil {
+		vendorId = m.VendorId
 		_vendorIdErr := io.WriteUint16(16, *(vendorId))
 		if _vendorIdErr != nil {
 			return errors.New("Error serializing 'vendorId' field " + _vendorIdErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
index c339e9d..19e8f7b 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMIAmRouterToNetwork.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type NLMIAmRouterToNetwork struct {
-	destinationNetworkAddress []uint16
+	DestinationNetworkAddress []uint16
 	NLM
 }
 
@@ -41,12 +41,12 @@ func (m NLMIAmRouterToNetwork) MessageType() uint8 {
 }
 
 func (m NLMIAmRouterToNetwork) initialize(vendorId *uint16) spi.Message {
-	m.vendorId = vendorId
+	m.VendorId = vendorId
 	return m
 }
 
 func NewNLMIAmRouterToNetwork(destinationNetworkAddress []uint16) NLMInitializer {
-	return &NLMIAmRouterToNetwork{destinationNetworkAddress: destinationNetworkAddress}
+	return &NLMIAmRouterToNetwork{DestinationNetworkAddress: destinationNetworkAddress}
 }
 
 func CastINLMIAmRouterToNetwork(structType interface{}) INLMIAmRouterToNetwork {
@@ -73,8 +73,8 @@ func (m NLMIAmRouterToNetwork) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.NLM.LengthInBits()
 
 	// Array field
-	if len(m.destinationNetworkAddress) > 0 {
-		lengthInBits += 16 * uint16(len(m.destinationNetworkAddress))
+	if len(m.DestinationNetworkAddress) > 0 {
+		lengthInBits += 16 * uint16(len(m.DestinationNetworkAddress))
 	}
 
 	return lengthInBits
@@ -107,8 +107,8 @@ func (m NLMIAmRouterToNetwork) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Array Field (destinationNetworkAddress)
-		if m.destinationNetworkAddress != nil {
-			for _, _element := range m.destinationNetworkAddress {
+		if m.DestinationNetworkAddress != nil {
+			for _, _element := range m.DestinationNetworkAddress {
 				_elementErr := io.WriteUint16(16, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'destinationNetworkAddress' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
index 53c8205..dce8fe8 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NLMWhoIsRouterToNetwork.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type NLMWhoIsRouterToNetwork struct {
-	destinationNetworkAddress []uint16
+	DestinationNetworkAddress []uint16
 	NLM
 }
 
@@ -41,12 +41,12 @@ func (m NLMWhoIsRouterToNetwork) MessageType() uint8 {
 }
 
 func (m NLMWhoIsRouterToNetwork) initialize(vendorId *uint16) spi.Message {
-	m.vendorId = vendorId
+	m.VendorId = vendorId
 	return m
 }
 
 func NewNLMWhoIsRouterToNetwork(destinationNetworkAddress []uint16) NLMInitializer {
-	return &NLMWhoIsRouterToNetwork{destinationNetworkAddress: destinationNetworkAddress}
+	return &NLMWhoIsRouterToNetwork{DestinationNetworkAddress: destinationNetworkAddress}
 }
 
 func CastINLMWhoIsRouterToNetwork(structType interface{}) INLMWhoIsRouterToNetwork {
@@ -73,8 +73,8 @@ func (m NLMWhoIsRouterToNetwork) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.NLM.LengthInBits()
 
 	// Array field
-	if len(m.destinationNetworkAddress) > 0 {
-		lengthInBits += 16 * uint16(len(m.destinationNetworkAddress))
+	if len(m.DestinationNetworkAddress) > 0 {
+		lengthInBits += 16 * uint16(len(m.DestinationNetworkAddress))
 	}
 
 	return lengthInBits
@@ -107,8 +107,8 @@ func (m NLMWhoIsRouterToNetwork) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Array Field (destinationNetworkAddress)
-		if m.destinationNetworkAddress != nil {
-			for _, _element := range m.destinationNetworkAddress {
+		if m.DestinationNetworkAddress != nil {
+			for _, _element := range m.DestinationNetworkAddress {
 				_elementErr := io.WriteUint16(16, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'destinationNetworkAddress' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
index a621733..14dc9a7 100644
--- a/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
+++ b/sandbox/plc4go/internal/plc4go/bacnetip/readwrite/model/NPDU.go
@@ -27,21 +27,21 @@ import (
 
 // The data-structure of this message
 type NPDU struct {
-	protocolVersionNumber     uint8
-	messageTypeFieldPresent   bool
-	destinationSpecified      bool
-	sourceSpecified           bool
-	expectingReply            bool
-	networkPriority           uint8
-	destinationNetworkAddress *uint16
-	destinationLength         *uint8
-	destinationAddress        []uint8
-	sourceNetworkAddress      *uint16
-	sourceLength              *uint8
-	sourceAddress             []uint8
-	hopCount                  *uint8
-	nlm                       *INLM
-	apdu                      *IAPDU
+	ProtocolVersionNumber     uint8
+	MessageTypeFieldPresent   bool
+	DestinationSpecified      bool
+	SourceSpecified           bool
+	ExpectingReply            bool
+	NetworkPriority           uint8
+	DestinationNetworkAddress *uint16
+	DestinationLength         *uint8
+	DestinationAddress        []uint8
+	SourceNetworkAddress      *uint16
+	SourceLength              *uint8
+	SourceAddress             []uint8
+	HopCount                  *uint8
+	Nlm                       *INLM
+	Apdu                      *IAPDU
 }
 
 // The corresponding interface
@@ -51,7 +51,7 @@ type INPDU interface {
 }
 
 func NewNPDU(protocolVersionNumber uint8, messageTypeFieldPresent bool, destinationSpecified bool, sourceSpecified bool, expectingReply bool, networkPriority uint8, destinationNetworkAddress *uint16, destinationLength *uint8, destinationAddress []uint8, sourceNetworkAddress *uint16, sourceLength *uint8, sourceAddress []uint8, hopCount *uint8, nlm *INLM, apdu *IAPDU) spi.Message {
-	return &NPDU{protocolVersionNumber: protocolVersionNumber, messageTypeFieldPresent: messageTypeFieldPresent, destinationSpecified: destinationSpecified, sourceSpecified: sourceSpecified, expectingReply: expectingReply, networkPriority: networkPriority, destinationNetworkAddress: destinationNetworkAddress, destinationLength: destinationLength, destinationAddress: destinationAddress, sourceNetworkAddress: sourceNetworkAddress, sourceLength: sourceLength, sourceAddress: sourceAddress, hopC [...]
+	return &NPDU{ProtocolVersionNumber: protocolVersionNumber, MessageTypeFieldPresent: messageTypeFieldPresent, DestinationSpecified: destinationSpecified, SourceSpecified: sourceSpecified, ExpectingReply: expectingReply, NetworkPriority: networkPriority, DestinationNetworkAddress: destinationNetworkAddress, DestinationLength: destinationLength, DestinationAddress: destinationAddress, SourceNetworkAddress: sourceNetworkAddress, SourceLength: sourceLength, SourceAddress: sourceAddress, HopC [...]
 }
 
 func CastINPDU(structType interface{}) INPDU {
@@ -102,48 +102,48 @@ func (m NPDU) LengthInBits() uint16 {
 	lengthInBits += 2
 
 	// Optional Field (destinationNetworkAddress)
-	if m.destinationNetworkAddress != nil {
+	if m.DestinationNetworkAddress != nil {
 		lengthInBits += 16
 	}
 
 	// Optional Field (destinationLength)
-	if m.destinationLength != nil {
+	if m.DestinationLength != nil {
 		lengthInBits += 8
 	}
 
 	// Array field
-	if len(m.destinationAddress) > 0 {
-		lengthInBits += 8 * uint16(len(m.destinationAddress))
+	if len(m.DestinationAddress) > 0 {
+		lengthInBits += 8 * uint16(len(m.DestinationAddress))
 	}
 
 	// Optional Field (sourceNetworkAddress)
-	if m.sourceNetworkAddress != nil {
+	if m.SourceNetworkAddress != nil {
 		lengthInBits += 16
 	}
 
 	// Optional Field (sourceLength)
-	if m.sourceLength != nil {
+	if m.SourceLength != nil {
 		lengthInBits += 8
 	}
 
 	// Array field
-	if len(m.sourceAddress) > 0 {
-		lengthInBits += 8 * uint16(len(m.sourceAddress))
+	if len(m.SourceAddress) > 0 {
+		lengthInBits += 8 * uint16(len(m.SourceAddress))
 	}
 
 	// Optional Field (hopCount)
-	if m.hopCount != nil {
+	if m.HopCount != nil {
 		lengthInBits += 8
 	}
 
 	// Optional Field (nlm)
-	if m.nlm != nil {
-		lengthInBits += (*m.nlm).LengthInBits()
+	if m.Nlm != nil {
+		lengthInBits += (*m.Nlm).LengthInBits()
 	}
 
 	// Optional Field (apdu)
-	if m.apdu != nil {
-		lengthInBits += (*m.apdu).LengthInBits()
+	if m.Apdu != nil {
+		lengthInBits += (*m.Apdu).LengthInBits()
 	}
 
 	return lengthInBits
@@ -335,14 +335,14 @@ func NPDUParse(io *spi.ReadBuffer, npduLength uint16) (spi.Message, error) {
 func (m NPDU) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (protocolVersionNumber)
-	protocolVersionNumber := uint8(m.protocolVersionNumber)
+	protocolVersionNumber := uint8(m.ProtocolVersionNumber)
 	_protocolVersionNumberErr := io.WriteUint8(8, (protocolVersionNumber))
 	if _protocolVersionNumberErr != nil {
 		return errors.New("Error serializing 'protocolVersionNumber' field " + _protocolVersionNumberErr.Error())
 	}
 
 	// Simple Field (messageTypeFieldPresent)
-	messageTypeFieldPresent := bool(m.messageTypeFieldPresent)
+	messageTypeFieldPresent := bool(m.MessageTypeFieldPresent)
 	_messageTypeFieldPresentErr := io.WriteBit((bool)(messageTypeFieldPresent))
 	if _messageTypeFieldPresentErr != nil {
 		return errors.New("Error serializing 'messageTypeFieldPresent' field " + _messageTypeFieldPresentErr.Error())
@@ -357,7 +357,7 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (destinationSpecified)
-	destinationSpecified := bool(m.destinationSpecified)
+	destinationSpecified := bool(m.DestinationSpecified)
 	_destinationSpecifiedErr := io.WriteBit((bool)(destinationSpecified))
 	if _destinationSpecifiedErr != nil {
 		return errors.New("Error serializing 'destinationSpecified' field " + _destinationSpecifiedErr.Error())
@@ -372,21 +372,21 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (sourceSpecified)
-	sourceSpecified := bool(m.sourceSpecified)
+	sourceSpecified := bool(m.SourceSpecified)
 	_sourceSpecifiedErr := io.WriteBit((bool)(sourceSpecified))
 	if _sourceSpecifiedErr != nil {
 		return errors.New("Error serializing 'sourceSpecified' field " + _sourceSpecifiedErr.Error())
 	}
 
 	// Simple Field (expectingReply)
-	expectingReply := bool(m.expectingReply)
+	expectingReply := bool(m.ExpectingReply)
 	_expectingReplyErr := io.WriteBit((bool)(expectingReply))
 	if _expectingReplyErr != nil {
 		return errors.New("Error serializing 'expectingReply' field " + _expectingReplyErr.Error())
 	}
 
 	// Simple Field (networkPriority)
-	networkPriority := uint8(m.networkPriority)
+	networkPriority := uint8(m.NetworkPriority)
 	_networkPriorityErr := io.WriteUint8(2, (networkPriority))
 	if _networkPriorityErr != nil {
 		return errors.New("Error serializing 'networkPriority' field " + _networkPriorityErr.Error())
@@ -394,8 +394,8 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 
 	// Optional Field (destinationNetworkAddress) (Can be skipped, if the value is null)
 	var destinationNetworkAddress *uint16 = nil
-	if m.destinationNetworkAddress != nil {
-		destinationNetworkAddress = m.destinationNetworkAddress
+	if m.DestinationNetworkAddress != nil {
+		destinationNetworkAddress = m.DestinationNetworkAddress
 		_destinationNetworkAddressErr := io.WriteUint16(16, *(destinationNetworkAddress))
 		if _destinationNetworkAddressErr != nil {
 			return errors.New("Error serializing 'destinationNetworkAddress' field " + _destinationNetworkAddressErr.Error())
@@ -404,8 +404,8 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 
 	// Optional Field (destinationLength) (Can be skipped, if the value is null)
 	var destinationLength *uint8 = nil
-	if m.destinationLength != nil {
-		destinationLength = m.destinationLength
+	if m.DestinationLength != nil {
+		destinationLength = m.DestinationLength
 		_destinationLengthErr := io.WriteUint8(8, *(destinationLength))
 		if _destinationLengthErr != nil {
 			return errors.New("Error serializing 'destinationLength' field " + _destinationLengthErr.Error())
@@ -413,8 +413,8 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Array Field (destinationAddress)
-	if m.destinationAddress != nil {
-		for _, _element := range m.destinationAddress {
+	if m.DestinationAddress != nil {
+		for _, _element := range m.DestinationAddress {
 			_elementErr := io.WriteUint8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'destinationAddress' field " + _elementErr.Error())
@@ -424,8 +424,8 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 
 	// Optional Field (sourceNetworkAddress) (Can be skipped, if the value is null)
 	var sourceNetworkAddress *uint16 = nil
-	if m.sourceNetworkAddress != nil {
-		sourceNetworkAddress = m.sourceNetworkAddress
+	if m.SourceNetworkAddress != nil {
+		sourceNetworkAddress = m.SourceNetworkAddress
 		_sourceNetworkAddressErr := io.WriteUint16(16, *(sourceNetworkAddress))
 		if _sourceNetworkAddressErr != nil {
 			return errors.New("Error serializing 'sourceNetworkAddress' field " + _sourceNetworkAddressErr.Error())
@@ -434,8 +434,8 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 
 	// Optional Field (sourceLength) (Can be skipped, if the value is null)
 	var sourceLength *uint8 = nil
-	if m.sourceLength != nil {
-		sourceLength = m.sourceLength
+	if m.SourceLength != nil {
+		sourceLength = m.SourceLength
 		_sourceLengthErr := io.WriteUint8(8, *(sourceLength))
 		if _sourceLengthErr != nil {
 			return errors.New("Error serializing 'sourceLength' field " + _sourceLengthErr.Error())
@@ -443,8 +443,8 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Array Field (sourceAddress)
-	if m.sourceAddress != nil {
-		for _, _element := range m.sourceAddress {
+	if m.SourceAddress != nil {
+		for _, _element := range m.SourceAddress {
 			_elementErr := io.WriteUint8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'sourceAddress' field " + _elementErr.Error())
@@ -454,8 +454,8 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 
 	// Optional Field (hopCount) (Can be skipped, if the value is null)
 	var hopCount *uint8 = nil
-	if m.hopCount != nil {
-		hopCount = m.hopCount
+	if m.HopCount != nil {
+		hopCount = m.HopCount
 		_hopCountErr := io.WriteUint8(8, *(hopCount))
 		if _hopCountErr != nil {
 			return errors.New("Error serializing 'hopCount' field " + _hopCountErr.Error())
@@ -464,8 +464,8 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 
 	// Optional Field (nlm) (Can be skipped, if the value is null)
 	var nlm *INLM = nil
-	if m.nlm != nil {
-		nlm = m.nlm
+	if m.Nlm != nil {
+		nlm = m.Nlm
 		_nlmErr := CastINLM(*nlm).Serialize(io)
 		if _nlmErr != nil {
 			return errors.New("Error serializing 'nlm' field " + _nlmErr.Error())
@@ -474,8 +474,8 @@ func (m NPDU) Serialize(io spi.WriteBuffer) error {
 
 	// Optional Field (apdu) (Can be skipped, if the value is null)
 	var apdu *IAPDU = nil
-	if m.apdu != nil {
-		apdu = m.apdu
+	if m.Apdu != nil {
+		apdu = m.Apdu
 		_apduErr := CastIAPDU(*apdu).Serialize(io)
 		if _apduErr != nil {
 			return errors.New("Error serializing 'apdu' field " + _apduErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go
index 7dde612..40d26af 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationBusmonitorInfo.go
@@ -29,12 +29,12 @@ const CEMIAdditionalInformationBusmonitorInfo_LEN uint8 = 1
 
 // The data-structure of this message
 type CEMIAdditionalInformationBusmonitorInfo struct {
-	frameErrorFlag  bool
-	bitErrorFlag    bool
-	parityErrorFlag bool
-	unknownFlag     bool
-	lostFlag        bool
-	sequenceNumber  uint8
+	FrameErrorFlag  bool
+	BitErrorFlag    bool
+	ParityErrorFlag bool
+	UnknownFlag     bool
+	LostFlag        bool
+	SequenceNumber  uint8
 	CEMIAdditionalInformation
 }
 
@@ -54,7 +54,7 @@ func (m CEMIAdditionalInformationBusmonitorInfo) initialize() spi.Message {
 }
 
 func NewCEMIAdditionalInformationBusmonitorInfo(frameErrorFlag bool, bitErrorFlag bool, parityErrorFlag bool, unknownFlag bool, lostFlag bool, sequenceNumber uint8) CEMIAdditionalInformationInitializer {
-	return &CEMIAdditionalInformationBusmonitorInfo{frameErrorFlag: frameErrorFlag, bitErrorFlag: bitErrorFlag, parityErrorFlag: parityErrorFlag, unknownFlag: unknownFlag, lostFlag: lostFlag, sequenceNumber: sequenceNumber}
+	return &CEMIAdditionalInformationBusmonitorInfo{FrameErrorFlag: frameErrorFlag, BitErrorFlag: bitErrorFlag, ParityErrorFlag: parityErrorFlag, UnknownFlag: unknownFlag, LostFlag: lostFlag, SequenceNumber: sequenceNumber}
 }
 
 func CastICEMIAdditionalInformationBusmonitorInfo(structType interface{}) ICEMIAdditionalInformationBusmonitorInfo {
@@ -169,42 +169,42 @@ func (m CEMIAdditionalInformationBusmonitorInfo) Serialize(io spi.WriteBuffer) e
 		}
 
 		// Simple Field (frameErrorFlag)
-		frameErrorFlag := bool(m.frameErrorFlag)
+		frameErrorFlag := bool(m.FrameErrorFlag)
 		_frameErrorFlagErr := io.WriteBit((bool)(frameErrorFlag))
 		if _frameErrorFlagErr != nil {
 			return errors.New("Error serializing 'frameErrorFlag' field " + _frameErrorFlagErr.Error())
 		}
 
 		// Simple Field (bitErrorFlag)
-		bitErrorFlag := bool(m.bitErrorFlag)
+		bitErrorFlag := bool(m.BitErrorFlag)
 		_bitErrorFlagErr := io.WriteBit((bool)(bitErrorFlag))
 		if _bitErrorFlagErr != nil {
 			return errors.New("Error serializing 'bitErrorFlag' field " + _bitErrorFlagErr.Error())
 		}
 
 		// Simple Field (parityErrorFlag)
-		parityErrorFlag := bool(m.parityErrorFlag)
+		parityErrorFlag := bool(m.ParityErrorFlag)
 		_parityErrorFlagErr := io.WriteBit((bool)(parityErrorFlag))
 		if _parityErrorFlagErr != nil {
 			return errors.New("Error serializing 'parityErrorFlag' field " + _parityErrorFlagErr.Error())
 		}
 
 		// Simple Field (unknownFlag)
-		unknownFlag := bool(m.unknownFlag)
+		unknownFlag := bool(m.UnknownFlag)
 		_unknownFlagErr := io.WriteBit((bool)(unknownFlag))
 		if _unknownFlagErr != nil {
 			return errors.New("Error serializing 'unknownFlag' field " + _unknownFlagErr.Error())
 		}
 
 		// Simple Field (lostFlag)
-		lostFlag := bool(m.lostFlag)
+		lostFlag := bool(m.LostFlag)
 		_lostFlagErr := io.WriteBit((bool)(lostFlag))
 		if _lostFlagErr != nil {
 			return errors.New("Error serializing 'lostFlag' field " + _lostFlagErr.Error())
 		}
 
 		// Simple Field (sequenceNumber)
-		sequenceNumber := uint8(m.sequenceNumber)
+		sequenceNumber := uint8(m.SequenceNumber)
 		_sequenceNumberErr := io.WriteUint8(3, (sequenceNumber))
 		if _sequenceNumberErr != nil {
 			return errors.New("Error serializing 'sequenceNumber' field " + _sequenceNumberErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go
index 62c29b0..f3049c4 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIAdditionalInformationRelativeTimestamp.go
@@ -30,7 +30,7 @@ const CEMIAdditionalInformationRelativeTimestamp_LEN uint8 = 2
 
 // The data-structure of this message
 type CEMIAdditionalInformationRelativeTimestamp struct {
-	relativeTimestamp IRelativeTimestamp
+	RelativeTimestamp IRelativeTimestamp
 	CEMIAdditionalInformation
 }
 
@@ -50,7 +50,7 @@ func (m CEMIAdditionalInformationRelativeTimestamp) initialize() spi.Message {
 }
 
 func NewCEMIAdditionalInformationRelativeTimestamp(relativeTimestamp IRelativeTimestamp) CEMIAdditionalInformationInitializer {
-	return &CEMIAdditionalInformationRelativeTimestamp{relativeTimestamp: relativeTimestamp}
+	return &CEMIAdditionalInformationRelativeTimestamp{RelativeTimestamp: relativeTimestamp}
 }
 
 func CastICEMIAdditionalInformationRelativeTimestamp(structType interface{}) ICEMIAdditionalInformationRelativeTimestamp {
@@ -80,7 +80,7 @@ func (m CEMIAdditionalInformationRelativeTimestamp) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (relativeTimestamp)
-	lengthInBits += m.relativeTimestamp.LengthInBits()
+	lengthInBits += m.RelativeTimestamp.LengthInBits()
 
 	return lengthInBits
 }
@@ -125,7 +125,7 @@ func (m CEMIAdditionalInformationRelativeTimestamp) Serialize(io spi.WriteBuffer
 		}
 
 		// Simple Field (relativeTimestamp)
-		relativeTimestamp := CastIRelativeTimestamp(m.relativeTimestamp)
+		relativeTimestamp := CastIRelativeTimestamp(m.RelativeTimestamp)
 		_relativeTimestampErr := relativeTimestamp.Serialize(io)
 		if _relativeTimestampErr != nil {
 			return errors.New("Error serializing 'relativeTimestamp' field " + _relativeTimestampErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIBusmonInd.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIBusmonInd.go
index 5598f05..9d1c3c3 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIBusmonInd.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIBusmonInd.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type CEMIBusmonInd struct {
-	additionalInformationLength uint8
-	additionalInformation       []ICEMIAdditionalInformation
-	cemiFrame                   ICEMIFrame
+	AdditionalInformationLength uint8
+	AdditionalInformation       []ICEMIAdditionalInformation
+	CemiFrame                   ICEMIFrame
 	CEMI
 }
 
@@ -48,7 +48,7 @@ func (m CEMIBusmonInd) initialize() spi.Message {
 }
 
 func NewCEMIBusmonInd(additionalInformationLength uint8, additionalInformation []ICEMIAdditionalInformation, cemiFrame ICEMIFrame) CEMIInitializer {
-	return &CEMIBusmonInd{additionalInformationLength: additionalInformationLength, additionalInformation: additionalInformation, cemiFrame: cemiFrame}
+	return &CEMIBusmonInd{AdditionalInformationLength: additionalInformationLength, AdditionalInformation: additionalInformation, CemiFrame: cemiFrame}
 }
 
 func CastICEMIBusmonInd(structType interface{}) ICEMIBusmonInd {
@@ -78,14 +78,14 @@ func (m CEMIBusmonInd) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.additionalInformation) > 0 {
-		for _, element := range m.additionalInformation {
+	if len(m.AdditionalInformation) > 0 {
+		for _, element := range m.AdditionalInformation {
 			lengthInBits += element.LengthInBits()
 		}
 	}
 
 	// Simple field (cemiFrame)
-	lengthInBits += m.cemiFrame.LengthInBits()
+	lengthInBits += m.CemiFrame.LengthInBits()
 
 	return lengthInBits
 }
@@ -139,15 +139,15 @@ func (m CEMIBusmonInd) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (additionalInformationLength)
-		additionalInformationLength := uint8(m.additionalInformationLength)
+		additionalInformationLength := uint8(m.AdditionalInformationLength)
 		_additionalInformationLengthErr := io.WriteUint8(8, (additionalInformationLength))
 		if _additionalInformationLengthErr != nil {
 			return errors.New("Error serializing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
 		}
 
 		// Array Field (additionalInformation)
-		if m.additionalInformation != nil {
-			for _, _element := range m.additionalInformation {
+		if m.AdditionalInformation != nil {
+			for _, _element := range m.AdditionalInformation {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'additionalInformation' field " + _elementErr.Error())
@@ -156,7 +156,7 @@ func (m CEMIBusmonInd) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (cemiFrame)
-		cemiFrame := CastICEMIFrame(m.cemiFrame)
+		cemiFrame := CastICEMIFrame(m.CemiFrame)
 		_cemiFrameErr := cemiFrame.Serialize(io)
 		if _cemiFrameErr != nil {
 			return errors.New("Error serializing 'cemiFrame' field " + _cemiFrameErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataCon.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataCon.go
index 84a382c..d8335bd 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataCon.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataCon.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type CEMIDataCon struct {
-	additionalInformationLength uint8
-	additionalInformation       []ICEMIAdditionalInformation
-	cemiDataFrame               ICEMIDataFrame
+	AdditionalInformationLength uint8
+	AdditionalInformation       []ICEMIAdditionalInformation
+	CemiDataFrame               ICEMIDataFrame
 	CEMI
 }
 
@@ -48,7 +48,7 @@ func (m CEMIDataCon) initialize() spi.Message {
 }
 
 func NewCEMIDataCon(additionalInformationLength uint8, additionalInformation []ICEMIAdditionalInformation, cemiDataFrame ICEMIDataFrame) CEMIInitializer {
-	return &CEMIDataCon{additionalInformationLength: additionalInformationLength, additionalInformation: additionalInformation, cemiDataFrame: cemiDataFrame}
+	return &CEMIDataCon{AdditionalInformationLength: additionalInformationLength, AdditionalInformation: additionalInformation, CemiDataFrame: cemiDataFrame}
 }
 
 func CastICEMIDataCon(structType interface{}) ICEMIDataCon {
@@ -78,14 +78,14 @@ func (m CEMIDataCon) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.additionalInformation) > 0 {
-		for _, element := range m.additionalInformation {
+	if len(m.AdditionalInformation) > 0 {
+		for _, element := range m.AdditionalInformation {
 			lengthInBits += element.LengthInBits()
 		}
 	}
 
 	// Simple field (cemiDataFrame)
-	lengthInBits += m.cemiDataFrame.LengthInBits()
+	lengthInBits += m.CemiDataFrame.LengthInBits()
 
 	return lengthInBits
 }
@@ -139,15 +139,15 @@ func (m CEMIDataCon) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (additionalInformationLength)
-		additionalInformationLength := uint8(m.additionalInformationLength)
+		additionalInformationLength := uint8(m.AdditionalInformationLength)
 		_additionalInformationLengthErr := io.WriteUint8(8, (additionalInformationLength))
 		if _additionalInformationLengthErr != nil {
 			return errors.New("Error serializing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
 		}
 
 		// Array Field (additionalInformation)
-		if m.additionalInformation != nil {
-			for _, _element := range m.additionalInformation {
+		if m.AdditionalInformation != nil {
+			for _, _element := range m.AdditionalInformation {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'additionalInformation' field " + _elementErr.Error())
@@ -156,7 +156,7 @@ func (m CEMIDataCon) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (cemiDataFrame)
-		cemiDataFrame := CastICEMIDataFrame(m.cemiDataFrame)
+		cemiDataFrame := CastICEMIDataFrame(m.CemiDataFrame)
 		_cemiDataFrameErr := cemiDataFrame.Serialize(io)
 		if _cemiDataFrameErr != nil {
 			return errors.New("Error serializing 'cemiDataFrame' field " + _cemiDataFrameErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataFrame.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataFrame.go
index a7de6ea..8e8dbf5 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataFrame.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataFrame.go
@@ -26,24 +26,24 @@ import (
 
 // The data-structure of this message
 type CEMIDataFrame struct {
-	standardFrame           bool
-	polling                 bool
-	notRepeated             bool
-	notAckFrame             bool
-	priority                ICEMIPriority
-	acknowledgeRequested    bool
-	errorFlag               bool
-	groupDestinationAddress bool
-	hopCount                uint8
-	extendedFrameFormat     uint8
-	sourceAddress           IKNXAddress
-	destinationAddress      []int8
-	dataLength              uint8
-	tcpi                    ITPCI
-	counter                 uint8
-	apci                    IAPCI
-	dataFirstByte           int8
-	data                    []int8
+	StandardFrame           bool
+	Polling                 bool
+	NotRepeated             bool
+	NotAckFrame             bool
+	Priority                ICEMIPriority
+	AcknowledgeRequested    bool
+	ErrorFlag               bool
+	GroupDestinationAddress bool
+	HopCount                uint8
+	ExtendedFrameFormat     uint8
+	SourceAddress           IKNXAddress
+	DestinationAddress      []int8
+	DataLength              uint8
+	Tcpi                    ITPCI
+	Counter                 uint8
+	Apci                    IAPCI
+	DataFirstByte           int8
+	Data                    []int8
 }
 
 // The corresponding interface
@@ -53,7 +53,7 @@ type ICEMIDataFrame interface {
 }
 
 func NewCEMIDataFrame(standardFrame bool, polling bool, notRepeated bool, notAckFrame bool, priority ICEMIPriority, acknowledgeRequested bool, errorFlag bool, groupDestinationAddress bool, hopCount uint8, extendedFrameFormat uint8, sourceAddress IKNXAddress, destinationAddress []int8, dataLength uint8, tcpi ITPCI, counter uint8, apci IAPCI, dataFirstByte int8, data []int8) spi.Message {
-	return &CEMIDataFrame{standardFrame: standardFrame, polling: polling, notRepeated: notRepeated, notAckFrame: notAckFrame, priority: priority, acknowledgeRequested: acknowledgeRequested, errorFlag: errorFlag, groupDestinationAddress: groupDestinationAddress, hopCount: hopCount, extendedFrameFormat: extendedFrameFormat, sourceAddress: sourceAddress, destinationAddress: destinationAddress, dataLength: dataLength, tcpi: tcpi, counter: counter, apci: apci, dataFirstByte: dataFirstByte, data: data}
+	return &CEMIDataFrame{StandardFrame: standardFrame, Polling: polling, NotRepeated: notRepeated, NotAckFrame: notAckFrame, Priority: priority, AcknowledgeRequested: acknowledgeRequested, ErrorFlag: errorFlag, GroupDestinationAddress: groupDestinationAddress, HopCount: hopCount, ExtendedFrameFormat: extendedFrameFormat, SourceAddress: sourceAddress, DestinationAddress: destinationAddress, DataLength: dataLength, Tcpi: tcpi, Counter: counter, Apci: apci, DataFirstByte: dataFirstByte, Data: data}
 }
 
 func CastICEMIDataFrame(structType interface{}) ICEMIDataFrame {
@@ -110,11 +110,11 @@ func (m CEMIDataFrame) LengthInBits() uint16 {
 	lengthInBits += 4
 
 	// Simple field (sourceAddress)
-	lengthInBits += m.sourceAddress.LengthInBits()
+	lengthInBits += m.SourceAddress.LengthInBits()
 
 	// Array field
-	if len(m.destinationAddress) > 0 {
-		lengthInBits += 8 * uint16(len(m.destinationAddress))
+	if len(m.DestinationAddress) > 0 {
+		lengthInBits += 8 * uint16(len(m.DestinationAddress))
 	}
 
 	// Simple field (dataLength)
@@ -133,8 +133,8 @@ func (m CEMIDataFrame) LengthInBits() uint16 {
 	lengthInBits += 6
 
 	// Array field
-	if len(m.data) > 0 {
-		lengthInBits += 8 * uint16(len(m.data))
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
 	}
 
 	return lengthInBits
@@ -278,85 +278,85 @@ func CEMIDataFrameParse(io *spi.ReadBuffer) (spi.Message, error) {
 func (m CEMIDataFrame) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (standardFrame)
-	standardFrame := bool(m.standardFrame)
+	standardFrame := bool(m.StandardFrame)
 	_standardFrameErr := io.WriteBit((bool)(standardFrame))
 	if _standardFrameErr != nil {
 		return errors.New("Error serializing 'standardFrame' field " + _standardFrameErr.Error())
 	}
 
 	// Simple Field (polling)
-	polling := bool(m.polling)
+	polling := bool(m.Polling)
 	_pollingErr := io.WriteBit((bool)(polling))
 	if _pollingErr != nil {
 		return errors.New("Error serializing 'polling' field " + _pollingErr.Error())
 	}
 
 	// Simple Field (notRepeated)
-	notRepeated := bool(m.notRepeated)
+	notRepeated := bool(m.NotRepeated)
 	_notRepeatedErr := io.WriteBit((bool)(notRepeated))
 	if _notRepeatedErr != nil {
 		return errors.New("Error serializing 'notRepeated' field " + _notRepeatedErr.Error())
 	}
 
 	// Simple Field (notAckFrame)
-	notAckFrame := bool(m.notAckFrame)
+	notAckFrame := bool(m.NotAckFrame)
 	_notAckFrameErr := io.WriteBit((bool)(notAckFrame))
 	if _notAckFrameErr != nil {
 		return errors.New("Error serializing 'notAckFrame' field " + _notAckFrameErr.Error())
 	}
 
 	// Enum field (priority)
-	priority := CastCEMIPriority(m.priority)
+	priority := CastCEMIPriority(m.Priority)
 	_priorityErr := priority.Serialize(io)
 	if _priorityErr != nil {
 		return errors.New("Error serializing 'priority' field " + _priorityErr.Error())
 	}
 
 	// Simple Field (acknowledgeRequested)
-	acknowledgeRequested := bool(m.acknowledgeRequested)
+	acknowledgeRequested := bool(m.AcknowledgeRequested)
 	_acknowledgeRequestedErr := io.WriteBit((bool)(acknowledgeRequested))
 	if _acknowledgeRequestedErr != nil {
 		return errors.New("Error serializing 'acknowledgeRequested' field " + _acknowledgeRequestedErr.Error())
 	}
 
 	// Simple Field (errorFlag)
-	errorFlag := bool(m.errorFlag)
+	errorFlag := bool(m.ErrorFlag)
 	_errorFlagErr := io.WriteBit((bool)(errorFlag))
 	if _errorFlagErr != nil {
 		return errors.New("Error serializing 'errorFlag' field " + _errorFlagErr.Error())
 	}
 
 	// Simple Field (groupDestinationAddress)
-	groupDestinationAddress := bool(m.groupDestinationAddress)
+	groupDestinationAddress := bool(m.GroupDestinationAddress)
 	_groupDestinationAddressErr := io.WriteBit((bool)(groupDestinationAddress))
 	if _groupDestinationAddressErr != nil {
 		return errors.New("Error serializing 'groupDestinationAddress' field " + _groupDestinationAddressErr.Error())
 	}
 
 	// Simple Field (hopCount)
-	hopCount := uint8(m.hopCount)
+	hopCount := uint8(m.HopCount)
 	_hopCountErr := io.WriteUint8(3, (hopCount))
 	if _hopCountErr != nil {
 		return errors.New("Error serializing 'hopCount' field " + _hopCountErr.Error())
 	}
 
 	// Simple Field (extendedFrameFormat)
-	extendedFrameFormat := uint8(m.extendedFrameFormat)
+	extendedFrameFormat := uint8(m.ExtendedFrameFormat)
 	_extendedFrameFormatErr := io.WriteUint8(4, (extendedFrameFormat))
 	if _extendedFrameFormatErr != nil {
 		return errors.New("Error serializing 'extendedFrameFormat' field " + _extendedFrameFormatErr.Error())
 	}
 
 	// Simple Field (sourceAddress)
-	sourceAddress := CastIKNXAddress(m.sourceAddress)
+	sourceAddress := CastIKNXAddress(m.SourceAddress)
 	_sourceAddressErr := sourceAddress.Serialize(io)
 	if _sourceAddressErr != nil {
 		return errors.New("Error serializing 'sourceAddress' field " + _sourceAddressErr.Error())
 	}
 
 	// Array Field (destinationAddress)
-	if m.destinationAddress != nil {
-		for _, _element := range m.destinationAddress {
+	if m.DestinationAddress != nil {
+		for _, _element := range m.DestinationAddress {
 			_elementErr := io.WriteInt8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'destinationAddress' field " + _elementErr.Error())
@@ -365,43 +365,43 @@ func (m CEMIDataFrame) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (dataLength)
-	dataLength := uint8(m.dataLength)
+	dataLength := uint8(m.DataLength)
 	_dataLengthErr := io.WriteUint8(8, (dataLength))
 	if _dataLengthErr != nil {
 		return errors.New("Error serializing 'dataLength' field " + _dataLengthErr.Error())
 	}
 
 	// Enum field (tcpi)
-	tcpi := CastTPCI(m.tcpi)
+	tcpi := CastTPCI(m.Tcpi)
 	_tcpiErr := tcpi.Serialize(io)
 	if _tcpiErr != nil {
 		return errors.New("Error serializing 'tcpi' field " + _tcpiErr.Error())
 	}
 
 	// Simple Field (counter)
-	counter := uint8(m.counter)
+	counter := uint8(m.Counter)
 	_counterErr := io.WriteUint8(4, (counter))
 	if _counterErr != nil {
 		return errors.New("Error serializing 'counter' field " + _counterErr.Error())
 	}
 
 	// Enum field (apci)
-	apci := CastAPCI(m.apci)
+	apci := CastAPCI(m.Apci)
 	_apciErr := apci.Serialize(io)
 	if _apciErr != nil {
 		return errors.New("Error serializing 'apci' field " + _apciErr.Error())
 	}
 
 	// Simple Field (dataFirstByte)
-	dataFirstByte := int8(m.dataFirstByte)
+	dataFirstByte := int8(m.DataFirstByte)
 	_dataFirstByteErr := io.WriteInt8(6, (dataFirstByte))
 	if _dataFirstByteErr != nil {
 		return errors.New("Error serializing 'dataFirstByte' field " + _dataFirstByteErr.Error())
 	}
 
 	// Array Field (data)
-	if m.data != nil {
-		for _, _element := range m.data {
+	if m.Data != nil {
+		for _, _element := range m.Data {
 			_elementErr := io.WriteInt8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'data' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataInd.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataInd.go
index c492c6c..9165e84 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataInd.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataInd.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type CEMIDataInd struct {
-	additionalInformationLength uint8
-	additionalInformation       []ICEMIAdditionalInformation
-	cemiDataFrame               ICEMIDataFrame
+	AdditionalInformationLength uint8
+	AdditionalInformation       []ICEMIAdditionalInformation
+	CemiDataFrame               ICEMIDataFrame
 	CEMI
 }
 
@@ -48,7 +48,7 @@ func (m CEMIDataInd) initialize() spi.Message {
 }
 
 func NewCEMIDataInd(additionalInformationLength uint8, additionalInformation []ICEMIAdditionalInformation, cemiDataFrame ICEMIDataFrame) CEMIInitializer {
-	return &CEMIDataInd{additionalInformationLength: additionalInformationLength, additionalInformation: additionalInformation, cemiDataFrame: cemiDataFrame}
+	return &CEMIDataInd{AdditionalInformationLength: additionalInformationLength, AdditionalInformation: additionalInformation, CemiDataFrame: cemiDataFrame}
 }
 
 func CastICEMIDataInd(structType interface{}) ICEMIDataInd {
@@ -78,14 +78,14 @@ func (m CEMIDataInd) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.additionalInformation) > 0 {
-		for _, element := range m.additionalInformation {
+	if len(m.AdditionalInformation) > 0 {
+		for _, element := range m.AdditionalInformation {
 			lengthInBits += element.LengthInBits()
 		}
 	}
 
 	// Simple field (cemiDataFrame)
-	lengthInBits += m.cemiDataFrame.LengthInBits()
+	lengthInBits += m.CemiDataFrame.LengthInBits()
 
 	return lengthInBits
 }
@@ -139,15 +139,15 @@ func (m CEMIDataInd) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (additionalInformationLength)
-		additionalInformationLength := uint8(m.additionalInformationLength)
+		additionalInformationLength := uint8(m.AdditionalInformationLength)
 		_additionalInformationLengthErr := io.WriteUint8(8, (additionalInformationLength))
 		if _additionalInformationLengthErr != nil {
 			return errors.New("Error serializing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
 		}
 
 		// Array Field (additionalInformation)
-		if m.additionalInformation != nil {
-			for _, _element := range m.additionalInformation {
+		if m.AdditionalInformation != nil {
+			for _, _element := range m.AdditionalInformation {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'additionalInformation' field " + _elementErr.Error())
@@ -156,7 +156,7 @@ func (m CEMIDataInd) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (cemiDataFrame)
-		cemiDataFrame := CastICEMIDataFrame(m.cemiDataFrame)
+		cemiDataFrame := CastICEMIDataFrame(m.CemiDataFrame)
 		_cemiDataFrameErr := cemiDataFrame.Serialize(io)
 		if _cemiDataFrameErr != nil {
 			return errors.New("Error serializing 'cemiDataFrame' field " + _cemiDataFrameErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataReq.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataReq.go
index 433c86c..66e3f44 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataReq.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIDataReq.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type CEMIDataReq struct {
-	additionalInformationLength uint8
-	additionalInformation       []ICEMIAdditionalInformation
-	cemiDataFrame               ICEMIDataFrame
+	AdditionalInformationLength uint8
+	AdditionalInformation       []ICEMIAdditionalInformation
+	CemiDataFrame               ICEMIDataFrame
 	CEMI
 }
 
@@ -48,7 +48,7 @@ func (m CEMIDataReq) initialize() spi.Message {
 }
 
 func NewCEMIDataReq(additionalInformationLength uint8, additionalInformation []ICEMIAdditionalInformation, cemiDataFrame ICEMIDataFrame) CEMIInitializer {
-	return &CEMIDataReq{additionalInformationLength: additionalInformationLength, additionalInformation: additionalInformation, cemiDataFrame: cemiDataFrame}
+	return &CEMIDataReq{AdditionalInformationLength: additionalInformationLength, AdditionalInformation: additionalInformation, CemiDataFrame: cemiDataFrame}
 }
 
 func CastICEMIDataReq(structType interface{}) ICEMIDataReq {
@@ -78,14 +78,14 @@ func (m CEMIDataReq) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.additionalInformation) > 0 {
-		for _, element := range m.additionalInformation {
+	if len(m.AdditionalInformation) > 0 {
+		for _, element := range m.AdditionalInformation {
 			lengthInBits += element.LengthInBits()
 		}
 	}
 
 	// Simple field (cemiDataFrame)
-	lengthInBits += m.cemiDataFrame.LengthInBits()
+	lengthInBits += m.CemiDataFrame.LengthInBits()
 
 	return lengthInBits
 }
@@ -139,15 +139,15 @@ func (m CEMIDataReq) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (additionalInformationLength)
-		additionalInformationLength := uint8(m.additionalInformationLength)
+		additionalInformationLength := uint8(m.AdditionalInformationLength)
 		_additionalInformationLengthErr := io.WriteUint8(8, (additionalInformationLength))
 		if _additionalInformationLengthErr != nil {
 			return errors.New("Error serializing 'additionalInformationLength' field " + _additionalInformationLengthErr.Error())
 		}
 
 		// Array Field (additionalInformation)
-		if m.additionalInformation != nil {
-			for _, _element := range m.additionalInformation {
+		if m.AdditionalInformation != nil {
+			for _, _element := range m.AdditionalInformation {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'additionalInformation' field " + _elementErr.Error())
@@ -156,7 +156,7 @@ func (m CEMIDataReq) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (cemiDataFrame)
-		cemiDataFrame := CastICEMIDataFrame(m.cemiDataFrame)
+		cemiDataFrame := CastICEMIDataFrame(m.CemiDataFrame)
 		_cemiDataFrameErr := cemiDataFrame.Serialize(io)
 		if _cemiDataFrameErr != nil {
 			return errors.New("Error serializing 'cemiDataFrame' field " + _cemiDataFrameErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrame.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrame.go
index e2d23d7..e535759 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrame.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrame.go
@@ -25,10 +25,10 @@ import (
 
 // The data-structure of this message
 type CEMIFrame struct {
-	repeated             bool
-	priority             ICEMIPriority
-	acknowledgeRequested bool
-	errorFlag            bool
+	Repeated             bool
+	Priority             ICEMIPriority
+	AcknowledgeRequested bool
+	ErrorFlag            bool
 }
 
 // The corresponding interface
@@ -193,7 +193,7 @@ func CEMIFrameSerialize(io spi.WriteBuffer, m CEMIFrame, i ICEMIFrame, childSeri
 	}
 
 	// Simple Field (repeated)
-	repeated := bool(m.repeated)
+	repeated := bool(m.Repeated)
 	_repeatedErr := io.WriteBit((bool)(repeated))
 	if _repeatedErr != nil {
 		return errors.New("Error serializing 'repeated' field " + _repeatedErr.Error())
@@ -207,21 +207,21 @@ func CEMIFrameSerialize(io spi.WriteBuffer, m CEMIFrame, i ICEMIFrame, childSeri
 	}
 
 	// Enum field (priority)
-	priority := CastCEMIPriority(m.priority)
+	priority := CastCEMIPriority(m.Priority)
 	_priorityErr := priority.Serialize(io)
 	if _priorityErr != nil {
 		return errors.New("Error serializing 'priority' field " + _priorityErr.Error())
 	}
 
 	// Simple Field (acknowledgeRequested)
-	acknowledgeRequested := bool(m.acknowledgeRequested)
+	acknowledgeRequested := bool(m.AcknowledgeRequested)
 	_acknowledgeRequestedErr := io.WriteBit((bool)(acknowledgeRequested))
 	if _acknowledgeRequestedErr != nil {
 		return errors.New("Error serializing 'acknowledgeRequested' field " + _acknowledgeRequestedErr.Error())
 	}
 
 	// Simple Field (errorFlag)
-	errorFlag := bool(m.errorFlag)
+	errorFlag := bool(m.ErrorFlag)
 	_errorFlagErr := io.WriteBit((bool)(errorFlag))
 	if _errorFlagErr != nil {
 		return errors.New("Error serializing 'errorFlag' field " + _errorFlagErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameAck.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameAck.go
index 65ede50..7197528 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameAck.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameAck.go
@@ -47,10 +47,10 @@ func (m CEMIFrameAck) Polling() bool {
 }
 
 func (m CEMIFrameAck) initialize(repeated bool, priority ICEMIPriority, acknowledgeRequested bool, errorFlag bool) spi.Message {
-	m.repeated = repeated
-	m.priority = priority
-	m.acknowledgeRequested = acknowledgeRequested
-	m.errorFlag = errorFlag
+	m.Repeated = repeated
+	m.Priority = priority
+	m.AcknowledgeRequested = acknowledgeRequested
+	m.ErrorFlag = errorFlag
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameData.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameData.go
index 37ee0c7..0ba917f 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameData.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameData.go
@@ -26,17 +26,17 @@ import (
 
 // The data-structure of this message
 type CEMIFrameData struct {
-	sourceAddress      IKNXAddress
-	destinationAddress []int8
-	groupAddress       bool
-	hopCount           uint8
-	dataLength         uint8
-	tcpi               ITPCI
-	counter            uint8
-	apci               IAPCI
-	dataFirstByte      int8
-	data               []int8
-	crc                uint8
+	SourceAddress      IKNXAddress
+	DestinationAddress []int8
+	GroupAddress       bool
+	HopCount           uint8
+	DataLength         uint8
+	Tcpi               ITPCI
+	Counter            uint8
+	Apci               IAPCI
+	DataFirstByte      int8
+	Data               []int8
+	Crc                uint8
 	CEMIFrame
 }
 
@@ -60,15 +60,15 @@ func (m CEMIFrameData) Polling() bool {
 }
 
 func (m CEMIFrameData) initialize(repeated bool, priority ICEMIPriority, acknowledgeRequested bool, errorFlag bool) spi.Message {
-	m.repeated = repeated
-	m.priority = priority
-	m.acknowledgeRequested = acknowledgeRequested
-	m.errorFlag = errorFlag
+	m.Repeated = repeated
+	m.Priority = priority
+	m.AcknowledgeRequested = acknowledgeRequested
+	m.ErrorFlag = errorFlag
 	return m
 }
 
 func NewCEMIFrameData(sourceAddress IKNXAddress, destinationAddress []int8, groupAddress bool, hopCount uint8, dataLength uint8, tcpi ITPCI, counter uint8, apci IAPCI, dataFirstByte int8, data []int8, crc uint8) CEMIFrameInitializer {
-	return &CEMIFrameData{sourceAddress: sourceAddress, destinationAddress: destinationAddress, groupAddress: groupAddress, hopCount: hopCount, dataLength: dataLength, tcpi: tcpi, counter: counter, apci: apci, dataFirstByte: dataFirstByte, data: data, crc: crc}
+	return &CEMIFrameData{SourceAddress: sourceAddress, DestinationAddress: destinationAddress, GroupAddress: groupAddress, HopCount: hopCount, DataLength: dataLength, Tcpi: tcpi, Counter: counter, Apci: apci, DataFirstByte: dataFirstByte, Data: data, Crc: crc}
 }
 
 func CastICEMIFrameData(structType interface{}) ICEMIFrameData {
@@ -95,11 +95,11 @@ func (m CEMIFrameData) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.CEMIFrame.LengthInBits()
 
 	// Simple field (sourceAddress)
-	lengthInBits += m.sourceAddress.LengthInBits()
+	lengthInBits += m.SourceAddress.LengthInBits()
 
 	// Array field
-	if len(m.destinationAddress) > 0 {
-		lengthInBits += 8 * uint16(len(m.destinationAddress))
+	if len(m.DestinationAddress) > 0 {
+		lengthInBits += 8 * uint16(len(m.DestinationAddress))
 	}
 
 	// Simple field (groupAddress)
@@ -124,8 +124,8 @@ func (m CEMIFrameData) LengthInBits() uint16 {
 	lengthInBits += 6
 
 	// Array field
-	if len(m.data) > 0 {
-		lengthInBits += 8 * uint16(len(m.data))
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
 	}
 
 	// Simple field (crc)
@@ -231,15 +231,15 @@ func (m CEMIFrameData) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (sourceAddress)
-		sourceAddress := CastIKNXAddress(m.sourceAddress)
+		sourceAddress := CastIKNXAddress(m.SourceAddress)
 		_sourceAddressErr := sourceAddress.Serialize(io)
 		if _sourceAddressErr != nil {
 			return errors.New("Error serializing 'sourceAddress' field " + _sourceAddressErr.Error())
 		}
 
 		// Array Field (destinationAddress)
-		if m.destinationAddress != nil {
-			for _, _element := range m.destinationAddress {
+		if m.DestinationAddress != nil {
+			for _, _element := range m.DestinationAddress {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'destinationAddress' field " + _elementErr.Error())
@@ -248,57 +248,57 @@ func (m CEMIFrameData) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (groupAddress)
-		groupAddress := bool(m.groupAddress)
+		groupAddress := bool(m.GroupAddress)
 		_groupAddressErr := io.WriteBit((bool)(groupAddress))
 		if _groupAddressErr != nil {
 			return errors.New("Error serializing 'groupAddress' field " + _groupAddressErr.Error())
 		}
 
 		// Simple Field (hopCount)
-		hopCount := uint8(m.hopCount)
+		hopCount := uint8(m.HopCount)
 		_hopCountErr := io.WriteUint8(3, (hopCount))
 		if _hopCountErr != nil {
 			return errors.New("Error serializing 'hopCount' field " + _hopCountErr.Error())
 		}
 
 		// Simple Field (dataLength)
-		dataLength := uint8(m.dataLength)
+		dataLength := uint8(m.DataLength)
 		_dataLengthErr := io.WriteUint8(4, (dataLength))
 		if _dataLengthErr != nil {
 			return errors.New("Error serializing 'dataLength' field " + _dataLengthErr.Error())
 		}
 
 		// Enum field (tcpi)
-		tcpi := CastTPCI(m.tcpi)
+		tcpi := CastTPCI(m.Tcpi)
 		_tcpiErr := tcpi.Serialize(io)
 		if _tcpiErr != nil {
 			return errors.New("Error serializing 'tcpi' field " + _tcpiErr.Error())
 		}
 
 		// Simple Field (counter)
-		counter := uint8(m.counter)
+		counter := uint8(m.Counter)
 		_counterErr := io.WriteUint8(4, (counter))
 		if _counterErr != nil {
 			return errors.New("Error serializing 'counter' field " + _counterErr.Error())
 		}
 
 		// Enum field (apci)
-		apci := CastAPCI(m.apci)
+		apci := CastAPCI(m.Apci)
 		_apciErr := apci.Serialize(io)
 		if _apciErr != nil {
 			return errors.New("Error serializing 'apci' field " + _apciErr.Error())
 		}
 
 		// Simple Field (dataFirstByte)
-		dataFirstByte := int8(m.dataFirstByte)
+		dataFirstByte := int8(m.DataFirstByte)
 		_dataFirstByteErr := io.WriteInt8(6, (dataFirstByte))
 		if _dataFirstByteErr != nil {
 			return errors.New("Error serializing 'dataFirstByte' field " + _dataFirstByteErr.Error())
 		}
 
 		// Array Field (data)
-		if m.data != nil {
-			for _, _element := range m.data {
+		if m.Data != nil {
+			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'data' field " + _elementErr.Error())
@@ -307,7 +307,7 @@ func (m CEMIFrameData) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (crc)
-		crc := uint8(m.crc)
+		crc := uint8(m.Crc)
 		_crcErr := io.WriteUint8(8, (crc))
 		if _crcErr != nil {
 			return errors.New("Error serializing 'crc' field " + _crcErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameDataExt.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameDataExt.go
index fdced95..1c7e8ac 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameDataExt.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFrameDataExt.go
@@ -26,18 +26,18 @@ import (
 
 // The data-structure of this message
 type CEMIFrameDataExt struct {
-	groupAddress        bool
-	hopCount            uint8
-	extendedFrameFormat uint8
-	sourceAddress       IKNXAddress
-	destinationAddress  []int8
-	dataLength          uint8
-	tcpi                ITPCI
-	counter             uint8
-	apci                IAPCI
-	dataFirstByte       int8
-	data                []int8
-	crc                 uint8
+	GroupAddress        bool
+	HopCount            uint8
+	ExtendedFrameFormat uint8
+	SourceAddress       IKNXAddress
+	DestinationAddress  []int8
+	DataLength          uint8
+	Tcpi                ITPCI
+	Counter             uint8
+	Apci                IAPCI
+	DataFirstByte       int8
+	Data                []int8
+	Crc                 uint8
 	CEMIFrame
 }
 
@@ -61,15 +61,15 @@ func (m CEMIFrameDataExt) Polling() bool {
 }
 
 func (m CEMIFrameDataExt) initialize(repeated bool, priority ICEMIPriority, acknowledgeRequested bool, errorFlag bool) spi.Message {
-	m.repeated = repeated
-	m.priority = priority
-	m.acknowledgeRequested = acknowledgeRequested
-	m.errorFlag = errorFlag
+	m.Repeated = repeated
+	m.Priority = priority
+	m.AcknowledgeRequested = acknowledgeRequested
+	m.ErrorFlag = errorFlag
 	return m
 }
 
 func NewCEMIFrameDataExt(groupAddress bool, hopCount uint8, extendedFrameFormat uint8, sourceAddress IKNXAddress, destinationAddress []int8, dataLength uint8, tcpi ITPCI, counter uint8, apci IAPCI, dataFirstByte int8, data []int8, crc uint8) CEMIFrameInitializer {
-	return &CEMIFrameDataExt{groupAddress: groupAddress, hopCount: hopCount, extendedFrameFormat: extendedFrameFormat, sourceAddress: sourceAddress, destinationAddress: destinationAddress, dataLength: dataLength, tcpi: tcpi, counter: counter, apci: apci, dataFirstByte: dataFirstByte, data: data, crc: crc}
+	return &CEMIFrameDataExt{GroupAddress: groupAddress, HopCount: hopCount, ExtendedFrameFormat: extendedFrameFormat, SourceAddress: sourceAddress, DestinationAddress: destinationAddress, DataLength: dataLength, Tcpi: tcpi, Counter: counter, Apci: apci, DataFirstByte: dataFirstByte, Data: data, Crc: crc}
 }
 
 func CastICEMIFrameDataExt(structType interface{}) ICEMIFrameDataExt {
@@ -105,11 +105,11 @@ func (m CEMIFrameDataExt) LengthInBits() uint16 {
 	lengthInBits += 4
 
 	// Simple field (sourceAddress)
-	lengthInBits += m.sourceAddress.LengthInBits()
+	lengthInBits += m.SourceAddress.LengthInBits()
 
 	// Array field
-	if len(m.destinationAddress) > 0 {
-		lengthInBits += 8 * uint16(len(m.destinationAddress))
+	if len(m.DestinationAddress) > 0 {
+		lengthInBits += 8 * uint16(len(m.DestinationAddress))
 	}
 
 	// Simple field (dataLength)
@@ -128,8 +128,8 @@ func (m CEMIFrameDataExt) LengthInBits() uint16 {
 	lengthInBits += 6
 
 	// Array field
-	if len(m.data) > 0 {
-		lengthInBits += 8 * uint16(len(m.data))
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
 	}
 
 	// Simple field (crc)
@@ -241,36 +241,36 @@ func (m CEMIFrameDataExt) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (groupAddress)
-		groupAddress := bool(m.groupAddress)
+		groupAddress := bool(m.GroupAddress)
 		_groupAddressErr := io.WriteBit((bool)(groupAddress))
 		if _groupAddressErr != nil {
 			return errors.New("Error serializing 'groupAddress' field " + _groupAddressErr.Error())
 		}
 
 		// Simple Field (hopCount)
-		hopCount := uint8(m.hopCount)
+		hopCount := uint8(m.HopCount)
 		_hopCountErr := io.WriteUint8(3, (hopCount))
 		if _hopCountErr != nil {
 			return errors.New("Error serializing 'hopCount' field " + _hopCountErr.Error())
 		}
 
 		// Simple Field (extendedFrameFormat)
-		extendedFrameFormat := uint8(m.extendedFrameFormat)
+		extendedFrameFormat := uint8(m.ExtendedFrameFormat)
 		_extendedFrameFormatErr := io.WriteUint8(4, (extendedFrameFormat))
 		if _extendedFrameFormatErr != nil {
 			return errors.New("Error serializing 'extendedFrameFormat' field " + _extendedFrameFormatErr.Error())
 		}
 
 		// Simple Field (sourceAddress)
-		sourceAddress := CastIKNXAddress(m.sourceAddress)
+		sourceAddress := CastIKNXAddress(m.SourceAddress)
 		_sourceAddressErr := sourceAddress.Serialize(io)
 		if _sourceAddressErr != nil {
 			return errors.New("Error serializing 'sourceAddress' field " + _sourceAddressErr.Error())
 		}
 
 		// Array Field (destinationAddress)
-		if m.destinationAddress != nil {
-			for _, _element := range m.destinationAddress {
+		if m.DestinationAddress != nil {
+			for _, _element := range m.DestinationAddress {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'destinationAddress' field " + _elementErr.Error())
@@ -279,43 +279,43 @@ func (m CEMIFrameDataExt) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (dataLength)
-		dataLength := uint8(m.dataLength)
+		dataLength := uint8(m.DataLength)
 		_dataLengthErr := io.WriteUint8(8, (dataLength))
 		if _dataLengthErr != nil {
 			return errors.New("Error serializing 'dataLength' field " + _dataLengthErr.Error())
 		}
 
 		// Enum field (tcpi)
-		tcpi := CastTPCI(m.tcpi)
+		tcpi := CastTPCI(m.Tcpi)
 		_tcpiErr := tcpi.Serialize(io)
 		if _tcpiErr != nil {
 			return errors.New("Error serializing 'tcpi' field " + _tcpiErr.Error())
 		}
 
 		// Simple Field (counter)
-		counter := uint8(m.counter)
+		counter := uint8(m.Counter)
 		_counterErr := io.WriteUint8(4, (counter))
 		if _counterErr != nil {
 			return errors.New("Error serializing 'counter' field " + _counterErr.Error())
 		}
 
 		// Enum field (apci)
-		apci := CastAPCI(m.apci)
+		apci := CastAPCI(m.Apci)
 		_apciErr := apci.Serialize(io)
 		if _apciErr != nil {
 			return errors.New("Error serializing 'apci' field " + _apciErr.Error())
 		}
 
 		// Simple Field (dataFirstByte)
-		dataFirstByte := int8(m.dataFirstByte)
+		dataFirstByte := int8(m.DataFirstByte)
 		_dataFirstByteErr := io.WriteInt8(6, (dataFirstByte))
 		if _dataFirstByteErr != nil {
 			return errors.New("Error serializing 'dataFirstByte' field " + _dataFirstByteErr.Error())
 		}
 
 		// Array Field (data)
-		if m.data != nil {
-			for _, _element := range m.data {
+		if m.Data != nil {
+			for _, _element := range m.Data {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'data' field " + _elementErr.Error())
@@ -324,7 +324,7 @@ func (m CEMIFrameDataExt) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (crc)
-		crc := uint8(m.crc)
+		crc := uint8(m.Crc)
 		_crcErr := io.WriteUint8(8, (crc))
 		if _crcErr != nil {
 			return errors.New("Error serializing 'crc' field " + _crcErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingData.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingData.go
index 7c9eabb..783b60a 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingData.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingData.go
@@ -47,10 +47,10 @@ func (m CEMIFramePollingData) Polling() bool {
 }
 
 func (m CEMIFramePollingData) initialize(repeated bool, priority ICEMIPriority, acknowledgeRequested bool, errorFlag bool) spi.Message {
-	m.repeated = repeated
-	m.priority = priority
-	m.acknowledgeRequested = acknowledgeRequested
-	m.errorFlag = errorFlag
+	m.Repeated = repeated
+	m.Priority = priority
+	m.AcknowledgeRequested = acknowledgeRequested
+	m.ErrorFlag = errorFlag
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingDataExt.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingDataExt.go
index 0910cab..8579b39 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingDataExt.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIFramePollingDataExt.go
@@ -47,10 +47,10 @@ func (m CEMIFramePollingDataExt) Polling() bool {
 }
 
 func (m CEMIFramePollingDataExt) initialize(repeated bool, priority ICEMIPriority, acknowledgeRequested bool, errorFlag bool) spi.Message {
-	m.repeated = repeated
-	m.priority = priority
-	m.acknowledgeRequested = acknowledgeRequested
-	m.errorFlag = errorFlag
+	m.Repeated = repeated
+	m.Priority = priority
+	m.AcknowledgeRequested = acknowledgeRequested
+	m.ErrorFlag = errorFlag
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadCon.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadCon.go
index afae8b6..24501ff 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadCon.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadCon.go
@@ -25,12 +25,12 @@ import (
 
 // The data-structure of this message
 type CEMIMPropReadCon struct {
-	interfaceObjectType uint16
-	objectInstance      uint8
-	propertyId          uint8
-	numberOfElements    uint8
-	startIndex          uint16
-	unknown             uint16
+	InterfaceObjectType uint16
+	ObjectInstance      uint8
+	PropertyId          uint8
+	NumberOfElements    uint8
+	StartIndex          uint16
+	Unknown             uint16
 	CEMI
 }
 
@@ -50,7 +50,7 @@ func (m CEMIMPropReadCon) initialize() spi.Message {
 }
 
 func NewCEMIMPropReadCon(interfaceObjectType uint16, objectInstance uint8, propertyId uint8, numberOfElements uint8, startIndex uint16, unknown uint16) CEMIInitializer {
-	return &CEMIMPropReadCon{interfaceObjectType: interfaceObjectType, objectInstance: objectInstance, propertyId: propertyId, numberOfElements: numberOfElements, startIndex: startIndex, unknown: unknown}
+	return &CEMIMPropReadCon{InterfaceObjectType: interfaceObjectType, ObjectInstance: objectInstance, PropertyId: propertyId, NumberOfElements: numberOfElements, StartIndex: startIndex, Unknown: unknown}
 }
 
 func CastICEMIMPropReadCon(structType interface{}) ICEMIMPropReadCon {
@@ -147,42 +147,42 @@ func (m CEMIMPropReadCon) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (interfaceObjectType)
-		interfaceObjectType := uint16(m.interfaceObjectType)
+		interfaceObjectType := uint16(m.InterfaceObjectType)
 		_interfaceObjectTypeErr := io.WriteUint16(16, (interfaceObjectType))
 		if _interfaceObjectTypeErr != nil {
 			return errors.New("Error serializing 'interfaceObjectType' field " + _interfaceObjectTypeErr.Error())
 		}
 
 		// Simple Field (objectInstance)
-		objectInstance := uint8(m.objectInstance)
+		objectInstance := uint8(m.ObjectInstance)
 		_objectInstanceErr := io.WriteUint8(8, (objectInstance))
 		if _objectInstanceErr != nil {
 			return errors.New("Error serializing 'objectInstance' field " + _objectInstanceErr.Error())
 		}
 
 		// Simple Field (propertyId)
-		propertyId := uint8(m.propertyId)
+		propertyId := uint8(m.PropertyId)
 		_propertyIdErr := io.WriteUint8(8, (propertyId))
 		if _propertyIdErr != nil {
 			return errors.New("Error serializing 'propertyId' field " + _propertyIdErr.Error())
 		}
 
 		// Simple Field (numberOfElements)
-		numberOfElements := uint8(m.numberOfElements)
+		numberOfElements := uint8(m.NumberOfElements)
 		_numberOfElementsErr := io.WriteUint8(4, (numberOfElements))
 		if _numberOfElementsErr != nil {
 			return errors.New("Error serializing 'numberOfElements' field " + _numberOfElementsErr.Error())
 		}
 
 		// Simple Field (startIndex)
-		startIndex := uint16(m.startIndex)
+		startIndex := uint16(m.StartIndex)
 		_startIndexErr := io.WriteUint16(12, (startIndex))
 		if _startIndexErr != nil {
 			return errors.New("Error serializing 'startIndex' field " + _startIndexErr.Error())
 		}
 
 		// Simple Field (unknown)
-		unknown := uint16(m.unknown)
+		unknown := uint16(m.Unknown)
 		_unknownErr := io.WriteUint16(16, (unknown))
 		if _unknownErr != nil {
 			return errors.New("Error serializing 'unknown' field " + _unknownErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadReq.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadReq.go
index 4d8160e..705e23a 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadReq.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/CEMIMPropReadReq.go
@@ -25,11 +25,11 @@ import (
 
 // The data-structure of this message
 type CEMIMPropReadReq struct {
-	interfaceObjectType uint16
-	objectInstance      uint8
-	propertyId          uint8
-	numberOfElements    uint8
-	startIndex          uint16
+	InterfaceObjectType uint16
+	ObjectInstance      uint8
+	PropertyId          uint8
+	NumberOfElements    uint8
+	StartIndex          uint16
 	CEMI
 }
 
@@ -49,7 +49,7 @@ func (m CEMIMPropReadReq) initialize() spi.Message {
 }
 
 func NewCEMIMPropReadReq(interfaceObjectType uint16, objectInstance uint8, propertyId uint8, numberOfElements uint8, startIndex uint16) CEMIInitializer {
-	return &CEMIMPropReadReq{interfaceObjectType: interfaceObjectType, objectInstance: objectInstance, propertyId: propertyId, numberOfElements: numberOfElements, startIndex: startIndex}
+	return &CEMIMPropReadReq{InterfaceObjectType: interfaceObjectType, ObjectInstance: objectInstance, PropertyId: propertyId, NumberOfElements: numberOfElements, StartIndex: startIndex}
 }
 
 func CastICEMIMPropReadReq(structType interface{}) ICEMIMPropReadReq {
@@ -137,35 +137,35 @@ func (m CEMIMPropReadReq) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (interfaceObjectType)
-		interfaceObjectType := uint16(m.interfaceObjectType)
+		interfaceObjectType := uint16(m.InterfaceObjectType)
 		_interfaceObjectTypeErr := io.WriteUint16(16, (interfaceObjectType))
 		if _interfaceObjectTypeErr != nil {
 			return errors.New("Error serializing 'interfaceObjectType' field " + _interfaceObjectTypeErr.Error())
 		}
 
 		// Simple Field (objectInstance)
-		objectInstance := uint8(m.objectInstance)
+		objectInstance := uint8(m.ObjectInstance)
 		_objectInstanceErr := io.WriteUint8(8, (objectInstance))
 		if _objectInstanceErr != nil {
 			return errors.New("Error serializing 'objectInstance' field " + _objectInstanceErr.Error())
 		}
 
 		// Simple Field (propertyId)
-		propertyId := uint8(m.propertyId)
+		propertyId := uint8(m.PropertyId)
 		_propertyIdErr := io.WriteUint8(8, (propertyId))
 		if _propertyIdErr != nil {
 			return errors.New("Error serializing 'propertyId' field " + _propertyIdErr.Error())
 		}
 
 		// Simple Field (numberOfElements)
-		numberOfElements := uint8(m.numberOfElements)
+		numberOfElements := uint8(m.NumberOfElements)
 		_numberOfElementsErr := io.WriteUint8(4, (numberOfElements))
 		if _numberOfElementsErr != nil {
 			return errors.New("Error serializing 'numberOfElements' field " + _numberOfElementsErr.Error())
 		}
 
 		// Simple Field (startIndex)
-		startIndex := uint16(m.startIndex)
+		startIndex := uint16(m.StartIndex)
 		_startIndexErr := io.WriteUint16(12, (startIndex))
 		if _startIndexErr != nil {
 			return errors.New("Error serializing 'startIndex' field " + _startIndexErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go
index 86c1dc0..cdea3d6 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequest.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type ConnectionRequest struct {
-	hpaiDiscoveryEndpoint        IHPAIDiscoveryEndpoint
-	hpaiDataEndpoint             IHPAIDataEndpoint
-	connectionRequestInformation IConnectionRequestInformation
+	HpaiDiscoveryEndpoint        IHPAIDiscoveryEndpoint
+	HpaiDataEndpoint             IHPAIDataEndpoint
+	ConnectionRequestInformation IConnectionRequestInformation
 	KNXNetIPMessage
 }
 
@@ -48,7 +48,7 @@ func (m ConnectionRequest) initialize() spi.Message {
 }
 
 func NewConnectionRequest(hpaiDiscoveryEndpoint IHPAIDiscoveryEndpoint, hpaiDataEndpoint IHPAIDataEndpoint, connectionRequestInformation IConnectionRequestInformation) KNXNetIPMessageInitializer {
-	return &ConnectionRequest{hpaiDiscoveryEndpoint: hpaiDiscoveryEndpoint, hpaiDataEndpoint: hpaiDataEndpoint, connectionRequestInformation: connectionRequestInformation}
+	return &ConnectionRequest{HpaiDiscoveryEndpoint: hpaiDiscoveryEndpoint, HpaiDataEndpoint: hpaiDataEndpoint, ConnectionRequestInformation: connectionRequestInformation}
 }
 
 func CastIConnectionRequest(structType interface{}) IConnectionRequest {
@@ -75,13 +75,13 @@ func (m ConnectionRequest) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.KNXNetIPMessage.LengthInBits()
 
 	// Simple field (hpaiDiscoveryEndpoint)
-	lengthInBits += m.hpaiDiscoveryEndpoint.LengthInBits()
+	lengthInBits += m.HpaiDiscoveryEndpoint.LengthInBits()
 
 	// Simple field (hpaiDataEndpoint)
-	lengthInBits += m.hpaiDataEndpoint.LengthInBits()
+	lengthInBits += m.HpaiDataEndpoint.LengthInBits()
 
 	// Simple field (connectionRequestInformation)
-	lengthInBits += m.connectionRequestInformation.LengthInBits()
+	lengthInBits += m.ConnectionRequestInformation.LengthInBits()
 
 	return lengthInBits
 }
@@ -133,21 +133,21 @@ func (m ConnectionRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (hpaiDiscoveryEndpoint)
-		hpaiDiscoveryEndpoint := CastIHPAIDiscoveryEndpoint(m.hpaiDiscoveryEndpoint)
+		hpaiDiscoveryEndpoint := CastIHPAIDiscoveryEndpoint(m.HpaiDiscoveryEndpoint)
 		_hpaiDiscoveryEndpointErr := hpaiDiscoveryEndpoint.Serialize(io)
 		if _hpaiDiscoveryEndpointErr != nil {
 			return errors.New("Error serializing 'hpaiDiscoveryEndpoint' field " + _hpaiDiscoveryEndpointErr.Error())
 		}
 
 		// Simple Field (hpaiDataEndpoint)
-		hpaiDataEndpoint := CastIHPAIDataEndpoint(m.hpaiDataEndpoint)
+		hpaiDataEndpoint := CastIHPAIDataEndpoint(m.HpaiDataEndpoint)
 		_hpaiDataEndpointErr := hpaiDataEndpoint.Serialize(io)
 		if _hpaiDataEndpointErr != nil {
 			return errors.New("Error serializing 'hpaiDataEndpoint' field " + _hpaiDataEndpointErr.Error())
 		}
 
 		// Simple Field (connectionRequestInformation)
-		connectionRequestInformation := CastIConnectionRequestInformation(m.connectionRequestInformation)
+		connectionRequestInformation := CastIConnectionRequestInformation(m.ConnectionRequestInformation)
 		_connectionRequestInformationErr := connectionRequestInformation.Serialize(io)
 		if _connectionRequestInformationErr != nil {
 			return errors.New("Error serializing 'connectionRequestInformation' field " + _connectionRequestInformationErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationTunnelConnection.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationTunnelConnection.go
index 33a1b39..a670b41 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationTunnelConnection.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionRequestInformationTunnelConnection.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type ConnectionRequestInformationTunnelConnection struct {
-	knxLayer IKnxLayer
+	KnxLayer IKnxLayer
 	ConnectionRequestInformation
 }
 
@@ -46,7 +46,7 @@ func (m ConnectionRequestInformationTunnelConnection) initialize() spi.Message {
 }
 
 func NewConnectionRequestInformationTunnelConnection(knxLayer IKnxLayer) ConnectionRequestInformationInitializer {
-	return &ConnectionRequestInformationTunnelConnection{knxLayer: knxLayer}
+	return &ConnectionRequestInformationTunnelConnection{KnxLayer: knxLayer}
 }
 
 func CastIConnectionRequestInformationTunnelConnection(structType interface{}) IConnectionRequestInformationTunnelConnection {
@@ -115,7 +115,7 @@ func (m ConnectionRequestInformationTunnelConnection) Serialize(io spi.WriteBuff
 	ser := func() error {
 
 		// Enum field (knxLayer)
-		knxLayer := CastKnxLayer(m.knxLayer)
+		knxLayer := CastKnxLayer(m.KnxLayer)
 		_knxLayerErr := knxLayer.Serialize(io)
 		if _knxLayerErr != nil {
 			return errors.New("Error serializing 'knxLayer' field " + _knxLayerErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponse.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponse.go
index e6805b5..b3d8b64 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponse.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponse.go
@@ -26,10 +26,10 @@ import (
 
 // The data-structure of this message
 type ConnectionResponse struct {
-	communicationChannelId      uint8
-	status                      IStatus
-	hpaiDataEndpoint            *IHPAIDataEndpoint
-	connectionResponseDataBlock *IConnectionResponseDataBlock
+	CommunicationChannelId      uint8
+	Status                      IStatus
+	HpaiDataEndpoint            *IHPAIDataEndpoint
+	ConnectionResponseDataBlock *IConnectionResponseDataBlock
 	KNXNetIPMessage
 }
 
@@ -49,7 +49,7 @@ func (m ConnectionResponse) initialize() spi.Message {
 }
 
 func NewConnectionResponse(communicationChannelId uint8, status IStatus, hpaiDataEndpoint *IHPAIDataEndpoint, connectionResponseDataBlock *IConnectionResponseDataBlock) KNXNetIPMessageInitializer {
-	return &ConnectionResponse{communicationChannelId: communicationChannelId, status: status, hpaiDataEndpoint: hpaiDataEndpoint, connectionResponseDataBlock: connectionResponseDataBlock}
+	return &ConnectionResponse{CommunicationChannelId: communicationChannelId, Status: status, HpaiDataEndpoint: hpaiDataEndpoint, ConnectionResponseDataBlock: connectionResponseDataBlock}
 }
 
 func CastIConnectionResponse(structType interface{}) IConnectionResponse {
@@ -82,13 +82,13 @@ func (m ConnectionResponse) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Optional Field (hpaiDataEndpoint)
-	if m.hpaiDataEndpoint != nil {
-		lengthInBits += (*m.hpaiDataEndpoint).LengthInBits()
+	if m.HpaiDataEndpoint != nil {
+		lengthInBits += (*m.HpaiDataEndpoint).LengthInBits()
 	}
 
 	// Optional Field (connectionResponseDataBlock)
-	if m.connectionResponseDataBlock != nil {
-		lengthInBits += (*m.connectionResponseDataBlock).LengthInBits()
+	if m.ConnectionResponseDataBlock != nil {
+		lengthInBits += (*m.ConnectionResponseDataBlock).LengthInBits()
 	}
 
 	return lengthInBits
@@ -150,14 +150,14 @@ func (m ConnectionResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (communicationChannelId)
-		communicationChannelId := uint8(m.communicationChannelId)
+		communicationChannelId := uint8(m.CommunicationChannelId)
 		_communicationChannelIdErr := io.WriteUint8(8, (communicationChannelId))
 		if _communicationChannelIdErr != nil {
 			return errors.New("Error serializing 'communicationChannelId' field " + _communicationChannelIdErr.Error())
 		}
 
 		// Enum field (status)
-		status := CastStatus(m.status)
+		status := CastStatus(m.Status)
 		_statusErr := status.Serialize(io)
 		if _statusErr != nil {
 			return errors.New("Error serializing 'status' field " + _statusErr.Error())
@@ -165,8 +165,8 @@ func (m ConnectionResponse) Serialize(io spi.WriteBuffer) error {
 
 		// Optional Field (hpaiDataEndpoint) (Can be skipped, if the value is null)
 		var hpaiDataEndpoint *IHPAIDataEndpoint = nil
-		if m.hpaiDataEndpoint != nil {
-			hpaiDataEndpoint = m.hpaiDataEndpoint
+		if m.HpaiDataEndpoint != nil {
+			hpaiDataEndpoint = m.HpaiDataEndpoint
 			_hpaiDataEndpointErr := CastIHPAIDataEndpoint(*hpaiDataEndpoint).Serialize(io)
 			if _hpaiDataEndpointErr != nil {
 				return errors.New("Error serializing 'hpaiDataEndpoint' field " + _hpaiDataEndpointErr.Error())
@@ -175,8 +175,8 @@ func (m ConnectionResponse) Serialize(io spi.WriteBuffer) error {
 
 		// Optional Field (connectionResponseDataBlock) (Can be skipped, if the value is null)
 		var connectionResponseDataBlock *IConnectionResponseDataBlock = nil
-		if m.connectionResponseDataBlock != nil {
-			connectionResponseDataBlock = m.connectionResponseDataBlock
+		if m.ConnectionResponseDataBlock != nil {
+			connectionResponseDataBlock = m.ConnectionResponseDataBlock
 			_connectionResponseDataBlockErr := CastIConnectionResponseDataBlock(*connectionResponseDataBlock).Serialize(io)
 			if _connectionResponseDataBlockErr != nil {
 				return errors.New("Error serializing 'connectionResponseDataBlock' field " + _connectionResponseDataBlockErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockTunnelConnection.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockTunnelConnection.go
index 77cd612..44cecc3 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockTunnelConnection.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionResponseDataBlockTunnelConnection.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type ConnectionResponseDataBlockTunnelConnection struct {
-	knxAddress IKNXAddress
+	KnxAddress IKNXAddress
 	ConnectionResponseDataBlock
 }
 
@@ -46,7 +46,7 @@ func (m ConnectionResponseDataBlockTunnelConnection) initialize() spi.Message {
 }
 
 func NewConnectionResponseDataBlockTunnelConnection(knxAddress IKNXAddress) ConnectionResponseDataBlockInitializer {
-	return &ConnectionResponseDataBlockTunnelConnection{knxAddress: knxAddress}
+	return &ConnectionResponseDataBlockTunnelConnection{KnxAddress: knxAddress}
 }
 
 func CastIConnectionResponseDataBlockTunnelConnection(structType interface{}) IConnectionResponseDataBlockTunnelConnection {
@@ -73,7 +73,7 @@ func (m ConnectionResponseDataBlockTunnelConnection) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.ConnectionResponseDataBlock.LengthInBits()
 
 	// Simple field (knxAddress)
-	lengthInBits += m.knxAddress.LengthInBits()
+	lengthInBits += m.KnxAddress.LengthInBits()
 
 	return lengthInBits
 }
@@ -103,7 +103,7 @@ func (m ConnectionResponseDataBlockTunnelConnection) Serialize(io spi.WriteBuffe
 	ser := func() error {
 
 		// Simple Field (knxAddress)
-		knxAddress := CastIKNXAddress(m.knxAddress)
+		knxAddress := CastIKNXAddress(m.KnxAddress)
 		_knxAddressErr := knxAddress.Serialize(io)
 		if _knxAddressErr != nil {
 			return errors.New("Error serializing 'knxAddress' field " + _knxAddressErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateRequest.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateRequest.go
index 7e42a1d..b9b470e 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateRequest.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateRequest.go
@@ -27,8 +27,8 @@ import (
 
 // The data-structure of this message
 type ConnectionStateRequest struct {
-	communicationChannelId uint8
-	hpaiControlEndpoint    IHPAIControlEndpoint
+	CommunicationChannelId uint8
+	HpaiControlEndpoint    IHPAIControlEndpoint
 	KNXNetIPMessage
 }
 
@@ -48,7 +48,7 @@ func (m ConnectionStateRequest) initialize() spi.Message {
 }
 
 func NewConnectionStateRequest(communicationChannelId uint8, hpaiControlEndpoint IHPAIControlEndpoint) KNXNetIPMessageInitializer {
-	return &ConnectionStateRequest{communicationChannelId: communicationChannelId, hpaiControlEndpoint: hpaiControlEndpoint}
+	return &ConnectionStateRequest{CommunicationChannelId: communicationChannelId, HpaiControlEndpoint: hpaiControlEndpoint}
 }
 
 func CastIConnectionStateRequest(structType interface{}) IConnectionStateRequest {
@@ -81,7 +81,7 @@ func (m ConnectionStateRequest) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (hpaiControlEndpoint)
-	lengthInBits += m.hpaiControlEndpoint.LengthInBits()
+	lengthInBits += m.HpaiControlEndpoint.LengthInBits()
 
 	return lengthInBits
 }
@@ -131,7 +131,7 @@ func (m ConnectionStateRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (communicationChannelId)
-		communicationChannelId := uint8(m.communicationChannelId)
+		communicationChannelId := uint8(m.CommunicationChannelId)
 		_communicationChannelIdErr := io.WriteUint8(8, (communicationChannelId))
 		if _communicationChannelIdErr != nil {
 			return errors.New("Error serializing 'communicationChannelId' field " + _communicationChannelIdErr.Error())
@@ -146,7 +146,7 @@ func (m ConnectionStateRequest) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (hpaiControlEndpoint)
-		hpaiControlEndpoint := CastIHPAIControlEndpoint(m.hpaiControlEndpoint)
+		hpaiControlEndpoint := CastIHPAIControlEndpoint(m.HpaiControlEndpoint)
 		_hpaiControlEndpointErr := hpaiControlEndpoint.Serialize(io)
 		if _hpaiControlEndpointErr != nil {
 			return errors.New("Error serializing 'hpaiControlEndpoint' field " + _hpaiControlEndpointErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateResponse.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateResponse.go
index ef598fb..96f63f7 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateResponse.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ConnectionStateResponse.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ConnectionStateResponse struct {
-	communicationChannelId uint8
-	status                 IStatus
+	CommunicationChannelId uint8
+	Status                 IStatus
 	KNXNetIPMessage
 }
 
@@ -46,7 +46,7 @@ func (m ConnectionStateResponse) initialize() spi.Message {
 }
 
 func NewConnectionStateResponse(communicationChannelId uint8, status IStatus) KNXNetIPMessageInitializer {
-	return &ConnectionStateResponse{communicationChannelId: communicationChannelId, status: status}
+	return &ConnectionStateResponse{CommunicationChannelId: communicationChannelId, Status: status}
 }
 
 func CastIConnectionStateResponse(structType interface{}) IConnectionStateResponse {
@@ -107,14 +107,14 @@ func (m ConnectionStateResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (communicationChannelId)
-		communicationChannelId := uint8(m.communicationChannelId)
+		communicationChannelId := uint8(m.CommunicationChannelId)
 		_communicationChannelIdErr := io.WriteUint8(8, (communicationChannelId))
 		if _communicationChannelIdErr != nil {
 			return errors.New("Error serializing 'communicationChannelId' field " + _communicationChannelIdErr.Error())
 		}
 
 		// Enum field (status)
-		status := CastStatus(m.status)
+		status := CastStatus(m.Status)
 		_statusErr := status.Serialize(io)
 		if _statusErr != nil {
 			return errors.New("Error serializing 'status' field " + _statusErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
index a372fa4..2ab46e8 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBDeviceInfo.go
@@ -26,15 +26,15 @@ import (
 
 // The data-structure of this message
 type DIBDeviceInfo struct {
-	descriptionType                uint8
-	knxMedium                      uint8
-	deviceStatus                   IDeviceStatus
-	knxAddress                     IKNXAddress
-	projectInstallationIdentifier  IProjectInstallationIdentifier
-	knxNetIpDeviceSerialNumber     []int8
-	knxNetIpDeviceMulticastAddress IIPAddress
-	knxNetIpDeviceMacAddress       IMACAddress
-	deviceFriendlyName             []int8
+	DescriptionType                uint8
+	KnxMedium                      uint8
+	DeviceStatus                   IDeviceStatus
+	KnxAddress                     IKNXAddress
+	ProjectInstallationIdentifier  IProjectInstallationIdentifier
+	KnxNetIpDeviceSerialNumber     []int8
+	KnxNetIpDeviceMulticastAddress IIPAddress
+	KnxNetIpDeviceMacAddress       IMACAddress
+	DeviceFriendlyName             []int8
 }
 
 // The corresponding interface
@@ -44,7 +44,7 @@ type IDIBDeviceInfo interface {
 }
 
 func NewDIBDeviceInfo(descriptionType uint8, knxMedium uint8, deviceStatus IDeviceStatus, knxAddress IKNXAddress, projectInstallationIdentifier IProjectInstallationIdentifier, knxNetIpDeviceSerialNumber []int8, knxNetIpDeviceMulticastAddress IIPAddress, knxNetIpDeviceMacAddress IMACAddress, deviceFriendlyName []int8) spi.Message {
-	return &DIBDeviceInfo{descriptionType: descriptionType, knxMedium: knxMedium, deviceStatus: deviceStatus, knxAddress: knxAddress, projectInstallationIdentifier: projectInstallationIdentifier, knxNetIpDeviceSerialNumber: knxNetIpDeviceSerialNumber, knxNetIpDeviceMulticastAddress: knxNetIpDeviceMulticastAddress, knxNetIpDeviceMacAddress: knxNetIpDeviceMacAddress, deviceFriendlyName: deviceFriendlyName}
+	return &DIBDeviceInfo{DescriptionType: descriptionType, KnxMedium: knxMedium, DeviceStatus: deviceStatus, KnxAddress: knxAddress, ProjectInstallationIdentifier: projectInstallationIdentifier, KnxNetIpDeviceSerialNumber: knxNetIpDeviceSerialNumber, KnxNetIpDeviceMulticastAddress: knxNetIpDeviceMulticastAddress, KnxNetIpDeviceMacAddress: knxNetIpDeviceMacAddress, DeviceFriendlyName: deviceFriendlyName}
 }
 
 func CastIDIBDeviceInfo(structType interface{}) IDIBDeviceInfo {
@@ -80,28 +80,28 @@ func (m DIBDeviceInfo) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (deviceStatus)
-	lengthInBits += m.deviceStatus.LengthInBits()
+	lengthInBits += m.DeviceStatus.LengthInBits()
 
 	// Simple field (knxAddress)
-	lengthInBits += m.knxAddress.LengthInBits()
+	lengthInBits += m.KnxAddress.LengthInBits()
 
 	// Simple field (projectInstallationIdentifier)
-	lengthInBits += m.projectInstallationIdentifier.LengthInBits()
+	lengthInBits += m.ProjectInstallationIdentifier.LengthInBits()
 
 	// Array field
-	if len(m.knxNetIpDeviceSerialNumber) > 0 {
-		lengthInBits += 8 * uint16(len(m.knxNetIpDeviceSerialNumber))
+	if len(m.KnxNetIpDeviceSerialNumber) > 0 {
+		lengthInBits += 8 * uint16(len(m.KnxNetIpDeviceSerialNumber))
 	}
 
 	// Simple field (knxNetIpDeviceMulticastAddress)
-	lengthInBits += m.knxNetIpDeviceMulticastAddress.LengthInBits()
+	lengthInBits += m.KnxNetIpDeviceMulticastAddress.LengthInBits()
 
 	// Simple field (knxNetIpDeviceMacAddress)
-	lengthInBits += m.knxNetIpDeviceMacAddress.LengthInBits()
+	lengthInBits += m.KnxNetIpDeviceMacAddress.LengthInBits()
 
 	// Array field
-	if len(m.deviceFriendlyName) > 0 {
-		lengthInBits += 8 * uint16(len(m.deviceFriendlyName))
+	if len(m.DeviceFriendlyName) > 0 {
+		lengthInBits += 8 * uint16(len(m.DeviceFriendlyName))
 	}
 
 	return lengthInBits
@@ -224,43 +224,43 @@ func (m DIBDeviceInfo) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (descriptionType)
-	descriptionType := uint8(m.descriptionType)
+	descriptionType := uint8(m.DescriptionType)
 	_descriptionTypeErr := io.WriteUint8(8, (descriptionType))
 	if _descriptionTypeErr != nil {
 		return errors.New("Error serializing 'descriptionType' field " + _descriptionTypeErr.Error())
 	}
 
 	// Simple Field (knxMedium)
-	knxMedium := uint8(m.knxMedium)
+	knxMedium := uint8(m.KnxMedium)
 	_knxMediumErr := io.WriteUint8(8, (knxMedium))
 	if _knxMediumErr != nil {
 		return errors.New("Error serializing 'knxMedium' field " + _knxMediumErr.Error())
 	}
 
 	// Simple Field (deviceStatus)
-	deviceStatus := CastIDeviceStatus(m.deviceStatus)
+	deviceStatus := CastIDeviceStatus(m.DeviceStatus)
 	_deviceStatusErr := deviceStatus.Serialize(io)
 	if _deviceStatusErr != nil {
 		return errors.New("Error serializing 'deviceStatus' field " + _deviceStatusErr.Error())
 	}
 
 	// Simple Field (knxAddress)
-	knxAddress := CastIKNXAddress(m.knxAddress)
+	knxAddress := CastIKNXAddress(m.KnxAddress)
 	_knxAddressErr := knxAddress.Serialize(io)
 	if _knxAddressErr != nil {
 		return errors.New("Error serializing 'knxAddress' field " + _knxAddressErr.Error())
 	}
 
 	// Simple Field (projectInstallationIdentifier)
-	projectInstallationIdentifier := CastIProjectInstallationIdentifier(m.projectInstallationIdentifier)
+	projectInstallationIdentifier := CastIProjectInstallationIdentifier(m.ProjectInstallationIdentifier)
 	_projectInstallationIdentifierErr := projectInstallationIdentifier.Serialize(io)
 	if _projectInstallationIdentifierErr != nil {
 		return errors.New("Error serializing 'projectInstallationIdentifier' field " + _projectInstallationIdentifierErr.Error())
 	}
 
 	// Array Field (knxNetIpDeviceSerialNumber)
-	if m.knxNetIpDeviceSerialNumber != nil {
-		for _, _element := range m.knxNetIpDeviceSerialNumber {
+	if m.KnxNetIpDeviceSerialNumber != nil {
+		for _, _element := range m.KnxNetIpDeviceSerialNumber {
 			_elementErr := io.WriteInt8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'knxNetIpDeviceSerialNumber' field " + _elementErr.Error())
@@ -269,22 +269,22 @@ func (m DIBDeviceInfo) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (knxNetIpDeviceMulticastAddress)
-	knxNetIpDeviceMulticastAddress := CastIIPAddress(m.knxNetIpDeviceMulticastAddress)
+	knxNetIpDeviceMulticastAddress := CastIIPAddress(m.KnxNetIpDeviceMulticastAddress)
 	_knxNetIpDeviceMulticastAddressErr := knxNetIpDeviceMulticastAddress.Serialize(io)
 	if _knxNetIpDeviceMulticastAddressErr != nil {
 		return errors.New("Error serializing 'knxNetIpDeviceMulticastAddress' field " + _knxNetIpDeviceMulticastAddressErr.Error())
 	}
 
 	// Simple Field (knxNetIpDeviceMacAddress)
-	knxNetIpDeviceMacAddress := CastIMACAddress(m.knxNetIpDeviceMacAddress)
+	knxNetIpDeviceMacAddress := CastIMACAddress(m.KnxNetIpDeviceMacAddress)
 	_knxNetIpDeviceMacAddressErr := knxNetIpDeviceMacAddress.Serialize(io)
 	if _knxNetIpDeviceMacAddressErr != nil {
 		return errors.New("Error serializing 'knxNetIpDeviceMacAddress' field " + _knxNetIpDeviceMacAddressErr.Error())
 	}
 
 	// Array Field (deviceFriendlyName)
-	if m.deviceFriendlyName != nil {
-		for _, _element := range m.deviceFriendlyName {
+	if m.DeviceFriendlyName != nil {
+		for _, _element := range m.DeviceFriendlyName {
 			_elementErr := io.WriteInt8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'deviceFriendlyName' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
index c33ea18..4e6037f 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DIBSuppSvcFamilies.go
@@ -26,8 +26,8 @@ import (
 
 // The data-structure of this message
 type DIBSuppSvcFamilies struct {
-	descriptionType uint8
-	serviceIds      []IServiceId
+	DescriptionType uint8
+	ServiceIds      []IServiceId
 }
 
 // The corresponding interface
@@ -37,7 +37,7 @@ type IDIBSuppSvcFamilies interface {
 }
 
 func NewDIBSuppSvcFamilies(descriptionType uint8, serviceIds []IServiceId) spi.Message {
-	return &DIBSuppSvcFamilies{descriptionType: descriptionType, serviceIds: serviceIds}
+	return &DIBSuppSvcFamilies{DescriptionType: descriptionType, ServiceIds: serviceIds}
 }
 
 func CastIDIBSuppSvcFamilies(structType interface{}) IDIBSuppSvcFamilies {
@@ -70,8 +70,8 @@ func (m DIBSuppSvcFamilies) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.serviceIds) > 0 {
-		for _, element := range m.serviceIds {
+	if len(m.ServiceIds) > 0 {
+		for _, element := range m.ServiceIds {
 			lengthInBits += element.LengthInBits()
 		}
 	}
@@ -128,15 +128,15 @@ func (m DIBSuppSvcFamilies) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (descriptionType)
-	descriptionType := uint8(m.descriptionType)
+	descriptionType := uint8(m.DescriptionType)
 	_descriptionTypeErr := io.WriteUint8(8, (descriptionType))
 	if _descriptionTypeErr != nil {
 		return errors.New("Error serializing 'descriptionType' field " + _descriptionTypeErr.Error())
 	}
 
 	// Array Field (serviceIds)
-	if m.serviceIds != nil {
-		for _, _element := range m.serviceIds {
+	if m.ServiceIds != nil {
+		for _, _element := range m.ServiceIds {
 			_elementErr := _element.Serialize(io)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'serviceIds' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionRequest.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionRequest.go
index 24a8147..03e0a58 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionRequest.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionRequest.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type DescriptionRequest struct {
-	hpaiControlEndpoint IHPAIControlEndpoint
+	HpaiControlEndpoint IHPAIControlEndpoint
 	KNXNetIPMessage
 }
 
@@ -46,7 +46,7 @@ func (m DescriptionRequest) initialize() spi.Message {
 }
 
 func NewDescriptionRequest(hpaiControlEndpoint IHPAIControlEndpoint) KNXNetIPMessageInitializer {
-	return &DescriptionRequest{hpaiControlEndpoint: hpaiControlEndpoint}
+	return &DescriptionRequest{HpaiControlEndpoint: hpaiControlEndpoint}
 }
 
 func CastIDescriptionRequest(structType interface{}) IDescriptionRequest {
@@ -73,7 +73,7 @@ func (m DescriptionRequest) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.KNXNetIPMessage.LengthInBits()
 
 	// Simple field (hpaiControlEndpoint)
-	lengthInBits += m.hpaiControlEndpoint.LengthInBits()
+	lengthInBits += m.HpaiControlEndpoint.LengthInBits()
 
 	return lengthInBits
 }
@@ -103,7 +103,7 @@ func (m DescriptionRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (hpaiControlEndpoint)
-		hpaiControlEndpoint := CastIHPAIControlEndpoint(m.hpaiControlEndpoint)
+		hpaiControlEndpoint := CastIHPAIControlEndpoint(m.HpaiControlEndpoint)
 		_hpaiControlEndpointErr := hpaiControlEndpoint.Serialize(io)
 		if _hpaiControlEndpointErr != nil {
 			return errors.New("Error serializing 'hpaiControlEndpoint' field " + _hpaiControlEndpointErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionResponse.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionResponse.go
index 1e77ba3..74055ed 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionResponse.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DescriptionResponse.go
@@ -26,8 +26,8 @@ import (
 
 // The data-structure of this message
 type DescriptionResponse struct {
-	dibDeviceInfo      IDIBDeviceInfo
-	dibSuppSvcFamilies IDIBSuppSvcFamilies
+	DibDeviceInfo      IDIBDeviceInfo
+	DibSuppSvcFamilies IDIBSuppSvcFamilies
 	KNXNetIPMessage
 }
 
@@ -47,7 +47,7 @@ func (m DescriptionResponse) initialize() spi.Message {
 }
 
 func NewDescriptionResponse(dibDeviceInfo IDIBDeviceInfo, dibSuppSvcFamilies IDIBSuppSvcFamilies) KNXNetIPMessageInitializer {
-	return &DescriptionResponse{dibDeviceInfo: dibDeviceInfo, dibSuppSvcFamilies: dibSuppSvcFamilies}
+	return &DescriptionResponse{DibDeviceInfo: dibDeviceInfo, DibSuppSvcFamilies: dibSuppSvcFamilies}
 }
 
 func CastIDescriptionResponse(structType interface{}) IDescriptionResponse {
@@ -74,10 +74,10 @@ func (m DescriptionResponse) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.KNXNetIPMessage.LengthInBits()
 
 	// Simple field (dibDeviceInfo)
-	lengthInBits += m.dibDeviceInfo.LengthInBits()
+	lengthInBits += m.DibDeviceInfo.LengthInBits()
 
 	// Simple field (dibSuppSvcFamilies)
-	lengthInBits += m.dibSuppSvcFamilies.LengthInBits()
+	lengthInBits += m.DibSuppSvcFamilies.LengthInBits()
 
 	return lengthInBits
 }
@@ -118,14 +118,14 @@ func (m DescriptionResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (dibDeviceInfo)
-		dibDeviceInfo := CastIDIBDeviceInfo(m.dibDeviceInfo)
+		dibDeviceInfo := CastIDIBDeviceInfo(m.DibDeviceInfo)
 		_dibDeviceInfoErr := dibDeviceInfo.Serialize(io)
 		if _dibDeviceInfoErr != nil {
 			return errors.New("Error serializing 'dibDeviceInfo' field " + _dibDeviceInfoErr.Error())
 		}
 
 		// Simple Field (dibSuppSvcFamilies)
-		dibSuppSvcFamilies := CastIDIBSuppSvcFamilies(m.dibSuppSvcFamilies)
+		dibSuppSvcFamilies := CastIDIBSuppSvcFamilies(m.DibSuppSvcFamilies)
 		_dibSuppSvcFamiliesErr := dibSuppSvcFamilies.Serialize(io)
 		if _dibSuppSvcFamiliesErr != nil {
 			return errors.New("Error serializing 'dibSuppSvcFamilies' field " + _dibSuppSvcFamiliesErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAck.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAck.go
index bb8373b..3f7aaac 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAck.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAck.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type DeviceConfigurationAck struct {
-	deviceConfigurationAckDataBlock IDeviceConfigurationAckDataBlock
+	DeviceConfigurationAckDataBlock IDeviceConfigurationAckDataBlock
 	KNXNetIPMessage
 }
 
@@ -46,7 +46,7 @@ func (m DeviceConfigurationAck) initialize() spi.Message {
 }
 
 func NewDeviceConfigurationAck(deviceConfigurationAckDataBlock IDeviceConfigurationAckDataBlock) KNXNetIPMessageInitializer {
-	return &DeviceConfigurationAck{deviceConfigurationAckDataBlock: deviceConfigurationAckDataBlock}
+	return &DeviceConfigurationAck{DeviceConfigurationAckDataBlock: deviceConfigurationAckDataBlock}
 }
 
 func CastIDeviceConfigurationAck(structType interface{}) IDeviceConfigurationAck {
@@ -73,7 +73,7 @@ func (m DeviceConfigurationAck) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.KNXNetIPMessage.LengthInBits()
 
 	// Simple field (deviceConfigurationAckDataBlock)
-	lengthInBits += m.deviceConfigurationAckDataBlock.LengthInBits()
+	lengthInBits += m.DeviceConfigurationAckDataBlock.LengthInBits()
 
 	return lengthInBits
 }
@@ -103,7 +103,7 @@ func (m DeviceConfigurationAck) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (deviceConfigurationAckDataBlock)
-		deviceConfigurationAckDataBlock := CastIDeviceConfigurationAckDataBlock(m.deviceConfigurationAckDataBlock)
+		deviceConfigurationAckDataBlock := CastIDeviceConfigurationAckDataBlock(m.DeviceConfigurationAckDataBlock)
 		_deviceConfigurationAckDataBlockErr := deviceConfigurationAckDataBlock.Serialize(io)
 		if _deviceConfigurationAckDataBlockErr != nil {
 			return errors.New("Error serializing 'deviceConfigurationAckDataBlock' field " + _deviceConfigurationAckDataBlockErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAckDataBlock.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAckDataBlock.go
index 75ed370..fd625ca 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAckDataBlock.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationAckDataBlock.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type DeviceConfigurationAckDataBlock struct {
-	communicationChannelId uint8
-	sequenceCounter        uint8
-	status                 IStatus
+	CommunicationChannelId uint8
+	SequenceCounter        uint8
+	Status                 IStatus
 }
 
 // The corresponding interface
@@ -37,7 +37,7 @@ type IDeviceConfigurationAckDataBlock interface {
 }
 
 func NewDeviceConfigurationAckDataBlock(communicationChannelId uint8, sequenceCounter uint8, status IStatus) spi.Message {
-	return &DeviceConfigurationAckDataBlock{communicationChannelId: communicationChannelId, sequenceCounter: sequenceCounter, status: status}
+	return &DeviceConfigurationAckDataBlock{CommunicationChannelId: communicationChannelId, SequenceCounter: sequenceCounter, Status: status}
 }
 
 func CastIDeviceConfigurationAckDataBlock(structType interface{}) IDeviceConfigurationAckDataBlock {
@@ -122,21 +122,21 @@ func (m DeviceConfigurationAckDataBlock) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (communicationChannelId)
-	communicationChannelId := uint8(m.communicationChannelId)
+	communicationChannelId := uint8(m.CommunicationChannelId)
 	_communicationChannelIdErr := io.WriteUint8(8, (communicationChannelId))
 	if _communicationChannelIdErr != nil {
 		return errors.New("Error serializing 'communicationChannelId' field " + _communicationChannelIdErr.Error())
 	}
 
 	// Simple Field (sequenceCounter)
-	sequenceCounter := uint8(m.sequenceCounter)
+	sequenceCounter := uint8(m.SequenceCounter)
 	_sequenceCounterErr := io.WriteUint8(8, (sequenceCounter))
 	if _sequenceCounterErr != nil {
 		return errors.New("Error serializing 'sequenceCounter' field " + _sequenceCounterErr.Error())
 	}
 
 	// Enum field (status)
-	status := CastStatus(m.status)
+	status := CastStatus(m.Status)
 	_statusErr := status.Serialize(io)
 	if _statusErr != nil {
 		return errors.New("Error serializing 'status' field " + _statusErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequest.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequest.go
index 7b580e3..be07633 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequest.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequest.go
@@ -26,8 +26,8 @@ import (
 
 // The data-structure of this message
 type DeviceConfigurationRequest struct {
-	deviceConfigurationRequestDataBlock IDeviceConfigurationRequestDataBlock
-	cemi                                ICEMI
+	DeviceConfigurationRequestDataBlock IDeviceConfigurationRequestDataBlock
+	Cemi                                ICEMI
 	KNXNetIPMessage
 }
 
@@ -47,7 +47,7 @@ func (m DeviceConfigurationRequest) initialize() spi.Message {
 }
 
 func NewDeviceConfigurationRequest(deviceConfigurationRequestDataBlock IDeviceConfigurationRequestDataBlock, cemi ICEMI) KNXNetIPMessageInitializer {
-	return &DeviceConfigurationRequest{deviceConfigurationRequestDataBlock: deviceConfigurationRequestDataBlock, cemi: cemi}
+	return &DeviceConfigurationRequest{DeviceConfigurationRequestDataBlock: deviceConfigurationRequestDataBlock, Cemi: cemi}
 }
 
 func CastIDeviceConfigurationRequest(structType interface{}) IDeviceConfigurationRequest {
@@ -74,10 +74,10 @@ func (m DeviceConfigurationRequest) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.KNXNetIPMessage.LengthInBits()
 
 	// Simple field (deviceConfigurationRequestDataBlock)
-	lengthInBits += m.deviceConfigurationRequestDataBlock.LengthInBits()
+	lengthInBits += m.DeviceConfigurationRequestDataBlock.LengthInBits()
 
 	// Simple field (cemi)
-	lengthInBits += m.cemi.LengthInBits()
+	lengthInBits += m.Cemi.LengthInBits()
 
 	return lengthInBits
 }
@@ -118,14 +118,14 @@ func (m DeviceConfigurationRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (deviceConfigurationRequestDataBlock)
-		deviceConfigurationRequestDataBlock := CastIDeviceConfigurationRequestDataBlock(m.deviceConfigurationRequestDataBlock)
+		deviceConfigurationRequestDataBlock := CastIDeviceConfigurationRequestDataBlock(m.DeviceConfigurationRequestDataBlock)
 		_deviceConfigurationRequestDataBlockErr := deviceConfigurationRequestDataBlock.Serialize(io)
 		if _deviceConfigurationRequestDataBlockErr != nil {
 			return errors.New("Error serializing 'deviceConfigurationRequestDataBlock' field " + _deviceConfigurationRequestDataBlockErr.Error())
 		}
 
 		// Simple Field (cemi)
-		cemi := CastICEMI(m.cemi)
+		cemi := CastICEMI(m.Cemi)
 		_cemiErr := cemi.Serialize(io)
 		if _cemiErr != nil {
 			return errors.New("Error serializing 'cemi' field " + _cemiErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequestDataBlock.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequestDataBlock.go
index 4aa689c..5d0f945 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequestDataBlock.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceConfigurationRequestDataBlock.go
@@ -26,8 +26,8 @@ import (
 
 // The data-structure of this message
 type DeviceConfigurationRequestDataBlock struct {
-	communicationChannelId uint8
-	sequenceCounter        uint8
+	CommunicationChannelId uint8
+	SequenceCounter        uint8
 }
 
 // The corresponding interface
@@ -37,7 +37,7 @@ type IDeviceConfigurationRequestDataBlock interface {
 }
 
 func NewDeviceConfigurationRequestDataBlock(communicationChannelId uint8, sequenceCounter uint8) spi.Message {
-	return &DeviceConfigurationRequestDataBlock{communicationChannelId: communicationChannelId, sequenceCounter: sequenceCounter}
+	return &DeviceConfigurationRequestDataBlock{CommunicationChannelId: communicationChannelId, SequenceCounter: sequenceCounter}
 }
 
 func CastIDeviceConfigurationRequestDataBlock(structType interface{}) IDeviceConfigurationRequestDataBlock {
@@ -130,14 +130,14 @@ func (m DeviceConfigurationRequestDataBlock) Serialize(io spi.WriteBuffer) error
 	}
 
 	// Simple Field (communicationChannelId)
-	communicationChannelId := uint8(m.communicationChannelId)
+	communicationChannelId := uint8(m.CommunicationChannelId)
 	_communicationChannelIdErr := io.WriteUint8(8, (communicationChannelId))
 	if _communicationChannelIdErr != nil {
 		return errors.New("Error serializing 'communicationChannelId' field " + _communicationChannelIdErr.Error())
 	}
 
 	// Simple Field (sequenceCounter)
-	sequenceCounter := uint8(m.sequenceCounter)
+	sequenceCounter := uint8(m.SequenceCounter)
 	_sequenceCounterErr := io.WriteUint8(8, (sequenceCounter))
 	if _sequenceCounterErr != nil {
 		return errors.New("Error serializing 'sequenceCounter' field " + _sequenceCounterErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceStatus.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceStatus.go
index 7208db5..46fcfbd 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceStatus.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DeviceStatus.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type DeviceStatus struct {
-	programMode bool
+	ProgramMode bool
 }
 
 // The corresponding interface
@@ -36,7 +36,7 @@ type IDeviceStatus interface {
 }
 
 func NewDeviceStatus(programMode bool) spi.Message {
-	return &DeviceStatus{programMode: programMode}
+	return &DeviceStatus{ProgramMode: programMode}
 }
 
 func CastIDeviceStatus(structType interface{}) IDeviceStatus {
@@ -112,7 +112,7 @@ func (m DeviceStatus) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (programMode)
-	programMode := bool(m.programMode)
+	programMode := bool(m.ProgramMode)
 	_programModeErr := io.WriteBit((bool)(programMode))
 	if _programModeErr != nil {
 		return errors.New("Error serializing 'programMode' field " + _programModeErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectRequest.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectRequest.go
index 0b29b0d..6fd4620 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectRequest.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectRequest.go
@@ -27,8 +27,8 @@ import (
 
 // The data-structure of this message
 type DisconnectRequest struct {
-	communicationChannelId uint8
-	hpaiControlEndpoint    IHPAIControlEndpoint
+	CommunicationChannelId uint8
+	HpaiControlEndpoint    IHPAIControlEndpoint
 	KNXNetIPMessage
 }
 
@@ -48,7 +48,7 @@ func (m DisconnectRequest) initialize() spi.Message {
 }
 
 func NewDisconnectRequest(communicationChannelId uint8, hpaiControlEndpoint IHPAIControlEndpoint) KNXNetIPMessageInitializer {
-	return &DisconnectRequest{communicationChannelId: communicationChannelId, hpaiControlEndpoint: hpaiControlEndpoint}
+	return &DisconnectRequest{CommunicationChannelId: communicationChannelId, HpaiControlEndpoint: hpaiControlEndpoint}
 }
 
 func CastIDisconnectRequest(structType interface{}) IDisconnectRequest {
@@ -81,7 +81,7 @@ func (m DisconnectRequest) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (hpaiControlEndpoint)
-	lengthInBits += m.hpaiControlEndpoint.LengthInBits()
+	lengthInBits += m.HpaiControlEndpoint.LengthInBits()
 
 	return lengthInBits
 }
@@ -131,7 +131,7 @@ func (m DisconnectRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (communicationChannelId)
-		communicationChannelId := uint8(m.communicationChannelId)
+		communicationChannelId := uint8(m.CommunicationChannelId)
 		_communicationChannelIdErr := io.WriteUint8(8, (communicationChannelId))
 		if _communicationChannelIdErr != nil {
 			return errors.New("Error serializing 'communicationChannelId' field " + _communicationChannelIdErr.Error())
@@ -146,7 +146,7 @@ func (m DisconnectRequest) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (hpaiControlEndpoint)
-		hpaiControlEndpoint := CastIHPAIControlEndpoint(m.hpaiControlEndpoint)
+		hpaiControlEndpoint := CastIHPAIControlEndpoint(m.HpaiControlEndpoint)
 		_hpaiControlEndpointErr := hpaiControlEndpoint.Serialize(io)
 		if _hpaiControlEndpointErr != nil {
 			return errors.New("Error serializing 'hpaiControlEndpoint' field " + _hpaiControlEndpointErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectResponse.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectResponse.go
index e3edc65..967c032 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectResponse.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/DisconnectResponse.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type DisconnectResponse struct {
-	communicationChannelId uint8
-	status                 IStatus
+	CommunicationChannelId uint8
+	Status                 IStatus
 	KNXNetIPMessage
 }
 
@@ -46,7 +46,7 @@ func (m DisconnectResponse) initialize() spi.Message {
 }
 
 func NewDisconnectResponse(communicationChannelId uint8, status IStatus) KNXNetIPMessageInitializer {
-	return &DisconnectResponse{communicationChannelId: communicationChannelId, status: status}
+	return &DisconnectResponse{CommunicationChannelId: communicationChannelId, Status: status}
 }
 
 func CastIDisconnectResponse(structType interface{}) IDisconnectResponse {
@@ -107,14 +107,14 @@ func (m DisconnectResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (communicationChannelId)
-		communicationChannelId := uint8(m.communicationChannelId)
+		communicationChannelId := uint8(m.CommunicationChannelId)
 		_communicationChannelIdErr := io.WriteUint8(8, (communicationChannelId))
 		if _communicationChannelIdErr != nil {
 			return errors.New("Error serializing 'communicationChannelId' field " + _communicationChannelIdErr.Error())
 		}
 
 		// Enum field (status)
-		status := CastStatus(m.status)
+		status := CastStatus(m.Status)
 		_statusErr := status.Serialize(io)
 		if _statusErr != nil {
 			return errors.New("Error serializing 'status' field " + _statusErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIControlEndpoint.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIControlEndpoint.go
index 1a2ae8f..b40fac8 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIControlEndpoint.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIControlEndpoint.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type HPAIControlEndpoint struct {
-	hostProtocolCode IHostProtocolCode
-	ipAddress        IIPAddress
-	ipPort           uint16
+	HostProtocolCode IHostProtocolCode
+	IpAddress        IIPAddress
+	IpPort           uint16
 }
 
 // The corresponding interface
@@ -38,7 +38,7 @@ type IHPAIControlEndpoint interface {
 }
 
 func NewHPAIControlEndpoint(hostProtocolCode IHostProtocolCode, ipAddress IIPAddress, ipPort uint16) spi.Message {
-	return &HPAIControlEndpoint{hostProtocolCode: hostProtocolCode, ipAddress: ipAddress, ipPort: ipPort}
+	return &HPAIControlEndpoint{HostProtocolCode: hostProtocolCode, IpAddress: ipAddress, IpPort: ipPort}
 }
 
 func CastIHPAIControlEndpoint(structType interface{}) IHPAIControlEndpoint {
@@ -71,7 +71,7 @@ func (m HPAIControlEndpoint) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (ipAddress)
-	lengthInBits += m.ipAddress.LengthInBits()
+	lengthInBits += m.IpAddress.LengthInBits()
 
 	// Simple field (ipPort)
 	lengthInBits += 16
@@ -128,21 +128,21 @@ func (m HPAIControlEndpoint) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Enum field (hostProtocolCode)
-	hostProtocolCode := CastHostProtocolCode(m.hostProtocolCode)
+	hostProtocolCode := CastHostProtocolCode(m.HostProtocolCode)
 	_hostProtocolCodeErr := hostProtocolCode.Serialize(io)
 	if _hostProtocolCodeErr != nil {
 		return errors.New("Error serializing 'hostProtocolCode' field " + _hostProtocolCodeErr.Error())
 	}
 
 	// Simple Field (ipAddress)
-	ipAddress := CastIIPAddress(m.ipAddress)
+	ipAddress := CastIIPAddress(m.IpAddress)
 	_ipAddressErr := ipAddress.Serialize(io)
 	if _ipAddressErr != nil {
 		return errors.New("Error serializing 'ipAddress' field " + _ipAddressErr.Error())
 	}
 
 	// Simple Field (ipPort)
-	ipPort := uint16(m.ipPort)
+	ipPort := uint16(m.IpPort)
 	_ipPortErr := io.WriteUint16(16, (ipPort))
 	if _ipPortErr != nil {
 		return errors.New("Error serializing 'ipPort' field " + _ipPortErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIDataEndpoint.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIDataEndpoint.go
index 0b11aaa..2fd0ced 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIDataEndpoint.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIDataEndpoint.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type HPAIDataEndpoint struct {
-	hostProtocolCode IHostProtocolCode
-	ipAddress        IIPAddress
-	ipPort           uint16
+	HostProtocolCode IHostProtocolCode
+	IpAddress        IIPAddress
+	IpPort           uint16
 }
 
 // The corresponding interface
@@ -38,7 +38,7 @@ type IHPAIDataEndpoint interface {
 }
 
 func NewHPAIDataEndpoint(hostProtocolCode IHostProtocolCode, ipAddress IIPAddress, ipPort uint16) spi.Message {
-	return &HPAIDataEndpoint{hostProtocolCode: hostProtocolCode, ipAddress: ipAddress, ipPort: ipPort}
+	return &HPAIDataEndpoint{HostProtocolCode: hostProtocolCode, IpAddress: ipAddress, IpPort: ipPort}
 }
 
 func CastIHPAIDataEndpoint(structType interface{}) IHPAIDataEndpoint {
@@ -71,7 +71,7 @@ func (m HPAIDataEndpoint) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (ipAddress)
-	lengthInBits += m.ipAddress.LengthInBits()
+	lengthInBits += m.IpAddress.LengthInBits()
 
 	// Simple field (ipPort)
 	lengthInBits += 16
@@ -128,21 +128,21 @@ func (m HPAIDataEndpoint) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Enum field (hostProtocolCode)
-	hostProtocolCode := CastHostProtocolCode(m.hostProtocolCode)
+	hostProtocolCode := CastHostProtocolCode(m.HostProtocolCode)
 	_hostProtocolCodeErr := hostProtocolCode.Serialize(io)
 	if _hostProtocolCodeErr != nil {
 		return errors.New("Error serializing 'hostProtocolCode' field " + _hostProtocolCodeErr.Error())
 	}
 
 	// Simple Field (ipAddress)
-	ipAddress := CastIIPAddress(m.ipAddress)
+	ipAddress := CastIIPAddress(m.IpAddress)
 	_ipAddressErr := ipAddress.Serialize(io)
 	if _ipAddressErr != nil {
 		return errors.New("Error serializing 'ipAddress' field " + _ipAddressErr.Error())
 	}
 
 	// Simple Field (ipPort)
-	ipPort := uint16(m.ipPort)
+	ipPort := uint16(m.IpPort)
 	_ipPortErr := io.WriteUint16(16, (ipPort))
 	if _ipPortErr != nil {
 		return errors.New("Error serializing 'ipPort' field " + _ipPortErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIDiscoveryEndpoint.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIDiscoveryEndpoint.go
index 2fbad66..d30b01b 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIDiscoveryEndpoint.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/HPAIDiscoveryEndpoint.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type HPAIDiscoveryEndpoint struct {
-	hostProtocolCode IHostProtocolCode
-	ipAddress        IIPAddress
-	ipPort           uint16
+	HostProtocolCode IHostProtocolCode
+	IpAddress        IIPAddress
+	IpPort           uint16
 }
 
 // The corresponding interface
@@ -38,7 +38,7 @@ type IHPAIDiscoveryEndpoint interface {
 }
 
 func NewHPAIDiscoveryEndpoint(hostProtocolCode IHostProtocolCode, ipAddress IIPAddress, ipPort uint16) spi.Message {
-	return &HPAIDiscoveryEndpoint{hostProtocolCode: hostProtocolCode, ipAddress: ipAddress, ipPort: ipPort}
+	return &HPAIDiscoveryEndpoint{HostProtocolCode: hostProtocolCode, IpAddress: ipAddress, IpPort: ipPort}
 }
 
 func CastIHPAIDiscoveryEndpoint(structType interface{}) IHPAIDiscoveryEndpoint {
@@ -71,7 +71,7 @@ func (m HPAIDiscoveryEndpoint) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (ipAddress)
-	lengthInBits += m.ipAddress.LengthInBits()
+	lengthInBits += m.IpAddress.LengthInBits()
 
 	// Simple field (ipPort)
 	lengthInBits += 16
@@ -128,21 +128,21 @@ func (m HPAIDiscoveryEndpoint) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Enum field (hostProtocolCode)
-	hostProtocolCode := CastHostProtocolCode(m.hostProtocolCode)
+	hostProtocolCode := CastHostProtocolCode(m.HostProtocolCode)
 	_hostProtocolCodeErr := hostProtocolCode.Serialize(io)
 	if _hostProtocolCodeErr != nil {
 		return errors.New("Error serializing 'hostProtocolCode' field " + _hostProtocolCodeErr.Error())
 	}
 
 	// Simple Field (ipAddress)
-	ipAddress := CastIIPAddress(m.ipAddress)
+	ipAddress := CastIIPAddress(m.IpAddress)
 	_ipAddressErr := ipAddress.Serialize(io)
 	if _ipAddressErr != nil {
 		return errors.New("Error serializing 'ipAddress' field " + _ipAddressErr.Error())
 	}
 
 	// Simple Field (ipPort)
-	ipPort := uint16(m.ipPort)
+	ipPort := uint16(m.IpPort)
 	_ipPortErr := io.WriteUint16(16, (ipPort))
 	if _ipPortErr != nil {
 		return errors.New("Error serializing 'ipPort' field " + _ipPortErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
index c4afe52..0178dce 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/IPAddress.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type IPAddress struct {
-	addr []int8
+	Addr []int8
 }
 
 // The corresponding interface
@@ -35,7 +35,7 @@ type IIPAddress interface {
 }
 
 func NewIPAddress(addr []int8) spi.Message {
-	return &IPAddress{addr: addr}
+	return &IPAddress{Addr: addr}
 }
 
 func CastIIPAddress(structType interface{}) IIPAddress {
@@ -62,8 +62,8 @@ func (m IPAddress) LengthInBits() uint16 {
 	var lengthInBits uint16 = 0
 
 	// Array field
-	if len(m.addr) > 0 {
-		lengthInBits += 8 * uint16(len(m.addr))
+	if len(m.Addr) > 0 {
+		lengthInBits += 8 * uint16(len(m.Addr))
 	}
 
 	return lengthInBits
@@ -94,8 +94,8 @@ func IPAddressParse(io *spi.ReadBuffer) (spi.Message, error) {
 func (m IPAddress) Serialize(io spi.WriteBuffer) error {
 
 	// Array Field (addr)
-	if m.addr != nil {
-		for _, _element := range m.addr {
+	if m.Addr != nil {
+		for _, _element := range m.Addr {
 			_elementErr := io.WriteInt8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'addr' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXAddress.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXAddress.go
index 77b2493..e2a24e8 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXAddress.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXAddress.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type KNXAddress struct {
-	mainGroup   uint8
-	middleGroup uint8
-	subGroup    uint8
+	MainGroup   uint8
+	MiddleGroup uint8
+	SubGroup    uint8
 }
 
 // The corresponding interface
@@ -37,7 +37,7 @@ type IKNXAddress interface {
 }
 
 func NewKNXAddress(mainGroup uint8, middleGroup uint8, subGroup uint8) spi.Message {
-	return &KNXAddress{mainGroup: mainGroup, middleGroup: middleGroup, subGroup: subGroup}
+	return &KNXAddress{MainGroup: mainGroup, MiddleGroup: middleGroup, SubGroup: subGroup}
 }
 
 func CastIKNXAddress(structType interface{}) IKNXAddress {
@@ -106,21 +106,21 @@ func KNXAddressParse(io *spi.ReadBuffer) (spi.Message, error) {
 func (m KNXAddress) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (mainGroup)
-	mainGroup := uint8(m.mainGroup)
+	mainGroup := uint8(m.MainGroup)
 	_mainGroupErr := io.WriteUint8(4, (mainGroup))
 	if _mainGroupErr != nil {
 		return errors.New("Error serializing 'mainGroup' field " + _mainGroupErr.Error())
 	}
 
 	// Simple Field (middleGroup)
-	middleGroup := uint8(m.middleGroup)
+	middleGroup := uint8(m.MiddleGroup)
 	_middleGroupErr := io.WriteUint8(4, (middleGroup))
 	if _middleGroupErr != nil {
 		return errors.New("Error serializing 'middleGroup' field " + _middleGroupErr.Error())
 	}
 
 	// Simple Field (subGroup)
-	subGroup := uint8(m.subGroup)
+	subGroup := uint8(m.SubGroup)
 	_subGroupErr := io.WriteUint8(8, (subGroup))
 	if _subGroupErr != nil {
 		return errors.New("Error serializing 'subGroup' field " + _subGroupErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddress2Level.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddress2Level.go
index 2eeb011..2d26b6d 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddress2Level.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddress2Level.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type KNXGroupAddress2Level struct {
-	mainGroup uint8
-	subGroup  uint16
+	MainGroup uint8
+	SubGroup  uint16
 	KNXGroupAddress
 }
 
@@ -46,7 +46,7 @@ func (m KNXGroupAddress2Level) initialize() spi.Message {
 }
 
 func NewKNXGroupAddress2Level(mainGroup uint8, subGroup uint16) KNXGroupAddressInitializer {
-	return &KNXGroupAddress2Level{mainGroup: mainGroup, subGroup: subGroup}
+	return &KNXGroupAddress2Level{MainGroup: mainGroup, SubGroup: subGroup}
 }
 
 func CastIKNXGroupAddress2Level(structType interface{}) IKNXGroupAddress2Level {
@@ -107,14 +107,14 @@ func (m KNXGroupAddress2Level) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (mainGroup)
-		mainGroup := uint8(m.mainGroup)
+		mainGroup := uint8(m.MainGroup)
 		_mainGroupErr := io.WriteUint8(5, (mainGroup))
 		if _mainGroupErr != nil {
 			return errors.New("Error serializing 'mainGroup' field " + _mainGroupErr.Error())
 		}
 
 		// Simple Field (subGroup)
-		subGroup := uint16(m.subGroup)
+		subGroup := uint16(m.SubGroup)
 		_subGroupErr := io.WriteUint16(11, (subGroup))
 		if _subGroupErr != nil {
 			return errors.New("Error serializing 'subGroup' field " + _subGroupErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddress3Level.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddress3Level.go
index 16c26fd..204f119 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddress3Level.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddress3Level.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type KNXGroupAddress3Level struct {
-	mainGroup   uint8
-	middleGroup uint8
-	subGroup    uint8
+	MainGroup   uint8
+	MiddleGroup uint8
+	SubGroup    uint8
 	KNXGroupAddress
 }
 
@@ -47,7 +47,7 @@ func (m KNXGroupAddress3Level) initialize() spi.Message {
 }
 
 func NewKNXGroupAddress3Level(mainGroup uint8, middleGroup uint8, subGroup uint8) KNXGroupAddressInitializer {
-	return &KNXGroupAddress3Level{mainGroup: mainGroup, middleGroup: middleGroup, subGroup: subGroup}
+	return &KNXGroupAddress3Level{MainGroup: mainGroup, MiddleGroup: middleGroup, SubGroup: subGroup}
 }
 
 func CastIKNXGroupAddress3Level(structType interface{}) IKNXGroupAddress3Level {
@@ -117,21 +117,21 @@ func (m KNXGroupAddress3Level) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (mainGroup)
-		mainGroup := uint8(m.mainGroup)
+		mainGroup := uint8(m.MainGroup)
 		_mainGroupErr := io.WriteUint8(5, (mainGroup))
 		if _mainGroupErr != nil {
 			return errors.New("Error serializing 'mainGroup' field " + _mainGroupErr.Error())
 		}
 
 		// Simple Field (middleGroup)
-		middleGroup := uint8(m.middleGroup)
+		middleGroup := uint8(m.MiddleGroup)
 		_middleGroupErr := io.WriteUint8(3, (middleGroup))
 		if _middleGroupErr != nil {
 			return errors.New("Error serializing 'middleGroup' field " + _middleGroupErr.Error())
 		}
 
 		// Simple Field (subGroup)
-		subGroup := uint8(m.subGroup)
+		subGroup := uint8(m.SubGroup)
 		_subGroupErr := io.WriteUint8(8, (subGroup))
 		if _subGroupErr != nil {
 			return errors.New("Error serializing 'subGroup' field " + _subGroupErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddressFreeLevel.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddressFreeLevel.go
index 17fdfeb..468a124 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddressFreeLevel.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KNXGroupAddressFreeLevel.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type KNXGroupAddressFreeLevel struct {
-	subGroup uint16
+	SubGroup uint16
 	KNXGroupAddress
 }
 
@@ -45,7 +45,7 @@ func (m KNXGroupAddressFreeLevel) initialize() spi.Message {
 }
 
 func NewKNXGroupAddressFreeLevel(subGroup uint16) KNXGroupAddressInitializer {
-	return &KNXGroupAddressFreeLevel{subGroup: subGroup}
+	return &KNXGroupAddressFreeLevel{SubGroup: subGroup}
 }
 
 func CastIKNXGroupAddressFreeLevel(structType interface{}) IKNXGroupAddressFreeLevel {
@@ -97,7 +97,7 @@ func (m KNXGroupAddressFreeLevel) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (subGroup)
-		subGroup := uint16(m.subGroup)
+		subGroup := uint16(m.SubGroup)
 		_subGroupErr := io.WriteUint16(16, (subGroup))
 		if _subGroupErr != nil {
 			return errors.New("Error serializing 'subGroup' field " + _subGroupErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpCore.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpCore.go
index fd8fd77..95ce12a 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpCore.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpCore.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type KnxNetIpCore struct {
-	version uint8
+	Version uint8
 	ServiceId
 }
 
@@ -45,7 +45,7 @@ func (m KnxNetIpCore) initialize() spi.Message {
 }
 
 func NewKnxNetIpCore(version uint8) ServiceIdInitializer {
-	return &KnxNetIpCore{version: version}
+	return &KnxNetIpCore{Version: version}
 }
 
 func CastIKnxNetIpCore(structType interface{}) IKnxNetIpCore {
@@ -97,7 +97,7 @@ func (m KnxNetIpCore) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (version)
-		version := uint8(m.version)
+		version := uint8(m.Version)
 		_versionErr := io.WriteUint8(8, (version))
 		if _versionErr != nil {
 			return errors.New("Error serializing 'version' field " + _versionErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpDeviceManagement.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpDeviceManagement.go
index 8e1bc7b..d92bad9 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpDeviceManagement.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpDeviceManagement.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type KnxNetIpDeviceManagement struct {
-	version uint8
+	Version uint8
 	ServiceId
 }
 
@@ -45,7 +45,7 @@ func (m KnxNetIpDeviceManagement) initialize() spi.Message {
 }
 
 func NewKnxNetIpDeviceManagement(version uint8) ServiceIdInitializer {
-	return &KnxNetIpDeviceManagement{version: version}
+	return &KnxNetIpDeviceManagement{Version: version}
 }
 
 func CastIKnxNetIpDeviceManagement(structType interface{}) IKnxNetIpDeviceManagement {
@@ -97,7 +97,7 @@ func (m KnxNetIpDeviceManagement) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (version)
-		version := uint8(m.version)
+		version := uint8(m.Version)
 		_versionErr := io.WriteUint8(8, (version))
 		if _versionErr != nil {
 			return errors.New("Error serializing 'version' field " + _versionErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpTunneling.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpTunneling.go
index 0bbeab6..6e9c80c 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpTunneling.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetIpTunneling.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type KnxNetIpTunneling struct {
-	version uint8
+	Version uint8
 	ServiceId
 }
 
@@ -45,7 +45,7 @@ func (m KnxNetIpTunneling) initialize() spi.Message {
 }
 
 func NewKnxNetIpTunneling(version uint8) ServiceIdInitializer {
-	return &KnxNetIpTunneling{version: version}
+	return &KnxNetIpTunneling{Version: version}
 }
 
 func CastIKnxNetIpTunneling(structType interface{}) IKnxNetIpTunneling {
@@ -97,7 +97,7 @@ func (m KnxNetIpTunneling) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (version)
-		version := uint8(m.version)
+		version := uint8(m.Version)
 		_versionErr := io.WriteUint8(8, (version))
 		if _versionErr != nil {
 			return errors.New("Error serializing 'version' field " + _versionErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetObjectServer.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetObjectServer.go
index 7e7872b..9de0fcf 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetObjectServer.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetObjectServer.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type KnxNetObjectServer struct {
-	version uint8
+	Version uint8
 	ServiceId
 }
 
@@ -45,7 +45,7 @@ func (m KnxNetObjectServer) initialize() spi.Message {
 }
 
 func NewKnxNetObjectServer(version uint8) ServiceIdInitializer {
-	return &KnxNetObjectServer{version: version}
+	return &KnxNetObjectServer{Version: version}
 }
 
 func CastIKnxNetObjectServer(structType interface{}) IKnxNetObjectServer {
@@ -97,7 +97,7 @@ func (m KnxNetObjectServer) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (version)
-		version := uint8(m.version)
+		version := uint8(m.Version)
 		_versionErr := io.WriteUint8(8, (version))
 		if _versionErr != nil {
 			return errors.New("Error serializing 'version' field " + _versionErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteConfigurationAndDiagnosis.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteConfigurationAndDiagnosis.go
index 0929ef9..ec027b5 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteConfigurationAndDiagnosis.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteConfigurationAndDiagnosis.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type KnxNetRemoteConfigurationAndDiagnosis struct {
-	version uint8
+	Version uint8
 	ServiceId
 }
 
@@ -45,7 +45,7 @@ func (m KnxNetRemoteConfigurationAndDiagnosis) initialize() spi.Message {
 }
 
 func NewKnxNetRemoteConfigurationAndDiagnosis(version uint8) ServiceIdInitializer {
-	return &KnxNetRemoteConfigurationAndDiagnosis{version: version}
+	return &KnxNetRemoteConfigurationAndDiagnosis{Version: version}
 }
 
 func CastIKnxNetRemoteConfigurationAndDiagnosis(structType interface{}) IKnxNetRemoteConfigurationAndDiagnosis {
@@ -97,7 +97,7 @@ func (m KnxNetRemoteConfigurationAndDiagnosis) Serialize(io spi.WriteBuffer) err
 	ser := func() error {
 
 		// Simple Field (version)
-		version := uint8(m.version)
+		version := uint8(m.Version)
 		_versionErr := io.WriteUint8(8, (version))
 		if _versionErr != nil {
 			return errors.New("Error serializing 'version' field " + _versionErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteLogging.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteLogging.go
index 9b97131..c5f4d22 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteLogging.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxNetRemoteLogging.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type KnxNetRemoteLogging struct {
-	version uint8
+	Version uint8
 	ServiceId
 }
 
@@ -45,7 +45,7 @@ func (m KnxNetRemoteLogging) initialize() spi.Message {
 }
 
 func NewKnxNetRemoteLogging(version uint8) ServiceIdInitializer {
-	return &KnxNetRemoteLogging{version: version}
+	return &KnxNetRemoteLogging{Version: version}
 }
 
 func CastIKnxNetRemoteLogging(structType interface{}) IKnxNetRemoteLogging {
@@ -97,7 +97,7 @@ func (m KnxNetRemoteLogging) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (version)
-		version := uint8(m.version)
+		version := uint8(m.Version)
 		_versionErr := io.WriteUint8(8, (version))
 		if _versionErr != nil {
 			return errors.New("Error serializing 'version' field " + _versionErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
index ee80810..bd66fdb 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/MACAddress.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type MACAddress struct {
-	addr []int8
+	Addr []int8
 }
 
 // The corresponding interface
@@ -35,7 +35,7 @@ type IMACAddress interface {
 }
 
 func NewMACAddress(addr []int8) spi.Message {
-	return &MACAddress{addr: addr}
+	return &MACAddress{Addr: addr}
 }
 
 func CastIMACAddress(structType interface{}) IMACAddress {
@@ -62,8 +62,8 @@ func (m MACAddress) LengthInBits() uint16 {
 	var lengthInBits uint16 = 0
 
 	// Array field
-	if len(m.addr) > 0 {
-		lengthInBits += 8 * uint16(len(m.addr))
+	if len(m.Addr) > 0 {
+		lengthInBits += 8 * uint16(len(m.Addr))
 	}
 
 	return lengthInBits
@@ -94,8 +94,8 @@ func MACAddressParse(io *spi.ReadBuffer) (spi.Message, error) {
 func (m MACAddress) Serialize(io spi.WriteBuffer) error {
 
 	// Array Field (addr)
-	if m.addr != nil {
-		for _, _element := range m.addr {
+	if m.Addr != nil {
+		for _, _element := range m.Addr {
 			_elementErr := io.WriteInt8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'addr' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ProjectInstallationIdentifier.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ProjectInstallationIdentifier.go
index f3aeb48..4492599 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ProjectInstallationIdentifier.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/ProjectInstallationIdentifier.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ProjectInstallationIdentifier struct {
-	projectNumber      uint8
-	installationNumber uint8
+	ProjectNumber      uint8
+	InstallationNumber uint8
 }
 
 // The corresponding interface
@@ -36,7 +36,7 @@ type IProjectInstallationIdentifier interface {
 }
 
 func NewProjectInstallationIdentifier(projectNumber uint8, installationNumber uint8) spi.Message {
-	return &ProjectInstallationIdentifier{projectNumber: projectNumber, installationNumber: installationNumber}
+	return &ProjectInstallationIdentifier{ProjectNumber: projectNumber, InstallationNumber: installationNumber}
 }
 
 func CastIProjectInstallationIdentifier(structType interface{}) IProjectInstallationIdentifier {
@@ -96,14 +96,14 @@ func ProjectInstallationIdentifierParse(io *spi.ReadBuffer) (spi.Message, error)
 func (m ProjectInstallationIdentifier) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (projectNumber)
-	projectNumber := uint8(m.projectNumber)
+	projectNumber := uint8(m.ProjectNumber)
 	_projectNumberErr := io.WriteUint8(8, (projectNumber))
 	if _projectNumberErr != nil {
 		return errors.New("Error serializing 'projectNumber' field " + _projectNumberErr.Error())
 	}
 
 	// Simple Field (installationNumber)
-	installationNumber := uint8(m.installationNumber)
+	installationNumber := uint8(m.InstallationNumber)
 	_installationNumberErr := io.WriteUint8(8, (installationNumber))
 	if _installationNumberErr != nil {
 		return errors.New("Error serializing 'installationNumber' field " + _installationNumberErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/RelativeTimestamp.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/RelativeTimestamp.go
index 3dc0265..f41a5d4 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/RelativeTimestamp.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/RelativeTimestamp.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type RelativeTimestamp struct {
-	timestamp uint16
+	Timestamp uint16
 }
 
 // The corresponding interface
@@ -35,7 +35,7 @@ type IRelativeTimestamp interface {
 }
 
 func NewRelativeTimestamp(timestamp uint16) spi.Message {
-	return &RelativeTimestamp{timestamp: timestamp}
+	return &RelativeTimestamp{Timestamp: timestamp}
 }
 
 func CastIRelativeTimestamp(structType interface{}) IRelativeTimestamp {
@@ -86,7 +86,7 @@ func RelativeTimestampParse(io *spi.ReadBuffer) (spi.Message, error) {
 func (m RelativeTimestamp) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (timestamp)
-	timestamp := uint16(m.timestamp)
+	timestamp := uint16(m.Timestamp)
 	_timestampErr := io.WriteUint16(16, (timestamp))
 	if _timestampErr != nil {
 		return errors.New("Error serializing 'timestamp' field " + _timestampErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchRequest.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchRequest.go
index 35360b1..2b28ee9 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchRequest.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchRequest.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type SearchRequest struct {
-	hpaiIDiscoveryEndpoint IHPAIDiscoveryEndpoint
+	HpaiIDiscoveryEndpoint IHPAIDiscoveryEndpoint
 	KNXNetIPMessage
 }
 
@@ -46,7 +46,7 @@ func (m SearchRequest) initialize() spi.Message {
 }
 
 func NewSearchRequest(hpaiIDiscoveryEndpoint IHPAIDiscoveryEndpoint) KNXNetIPMessageInitializer {
-	return &SearchRequest{hpaiIDiscoveryEndpoint: hpaiIDiscoveryEndpoint}
+	return &SearchRequest{HpaiIDiscoveryEndpoint: hpaiIDiscoveryEndpoint}
 }
 
 func CastISearchRequest(structType interface{}) ISearchRequest {
@@ -73,7 +73,7 @@ func (m SearchRequest) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.KNXNetIPMessage.LengthInBits()
 
 	// Simple field (hpaiIDiscoveryEndpoint)
-	lengthInBits += m.hpaiIDiscoveryEndpoint.LengthInBits()
+	lengthInBits += m.HpaiIDiscoveryEndpoint.LengthInBits()
 
 	return lengthInBits
 }
@@ -103,7 +103,7 @@ func (m SearchRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (hpaiIDiscoveryEndpoint)
-		hpaiIDiscoveryEndpoint := CastIHPAIDiscoveryEndpoint(m.hpaiIDiscoveryEndpoint)
+		hpaiIDiscoveryEndpoint := CastIHPAIDiscoveryEndpoint(m.HpaiIDiscoveryEndpoint)
 		_hpaiIDiscoveryEndpointErr := hpaiIDiscoveryEndpoint.Serialize(io)
 		if _hpaiIDiscoveryEndpointErr != nil {
 			return errors.New("Error serializing 'hpaiIDiscoveryEndpoint' field " + _hpaiIDiscoveryEndpointErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchResponse.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchResponse.go
index a9b0997..eac72eb 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchResponse.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/SearchResponse.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type SearchResponse struct {
-	hpaiControlEndpoint IHPAIControlEndpoint
-	dibDeviceInfo       IDIBDeviceInfo
-	dibSuppSvcFamilies  IDIBSuppSvcFamilies
+	HpaiControlEndpoint IHPAIControlEndpoint
+	DibDeviceInfo       IDIBDeviceInfo
+	DibSuppSvcFamilies  IDIBSuppSvcFamilies
 	KNXNetIPMessage
 }
 
@@ -48,7 +48,7 @@ func (m SearchResponse) initialize() spi.Message {
 }
 
 func NewSearchResponse(hpaiControlEndpoint IHPAIControlEndpoint, dibDeviceInfo IDIBDeviceInfo, dibSuppSvcFamilies IDIBSuppSvcFamilies) KNXNetIPMessageInitializer {
-	return &SearchResponse{hpaiControlEndpoint: hpaiControlEndpoint, dibDeviceInfo: dibDeviceInfo, dibSuppSvcFamilies: dibSuppSvcFamilies}
+	return &SearchResponse{HpaiControlEndpoint: hpaiControlEndpoint, DibDeviceInfo: dibDeviceInfo, DibSuppSvcFamilies: dibSuppSvcFamilies}
 }
 
 func CastISearchResponse(structType interface{}) ISearchResponse {
@@ -75,13 +75,13 @@ func (m SearchResponse) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.KNXNetIPMessage.LengthInBits()
 
 	// Simple field (hpaiControlEndpoint)
-	lengthInBits += m.hpaiControlEndpoint.LengthInBits()
+	lengthInBits += m.HpaiControlEndpoint.LengthInBits()
 
 	// Simple field (dibDeviceInfo)
-	lengthInBits += m.dibDeviceInfo.LengthInBits()
+	lengthInBits += m.DibDeviceInfo.LengthInBits()
 
 	// Simple field (dibSuppSvcFamilies)
-	lengthInBits += m.dibSuppSvcFamilies.LengthInBits()
+	lengthInBits += m.DibSuppSvcFamilies.LengthInBits()
 
 	return lengthInBits
 }
@@ -133,21 +133,21 @@ func (m SearchResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (hpaiControlEndpoint)
-		hpaiControlEndpoint := CastIHPAIControlEndpoint(m.hpaiControlEndpoint)
+		hpaiControlEndpoint := CastIHPAIControlEndpoint(m.HpaiControlEndpoint)
 		_hpaiControlEndpointErr := hpaiControlEndpoint.Serialize(io)
 		if _hpaiControlEndpointErr != nil {
 			return errors.New("Error serializing 'hpaiControlEndpoint' field " + _hpaiControlEndpointErr.Error())
 		}
 
 		// Simple Field (dibDeviceInfo)
-		dibDeviceInfo := CastIDIBDeviceInfo(m.dibDeviceInfo)
+		dibDeviceInfo := CastIDIBDeviceInfo(m.DibDeviceInfo)
 		_dibDeviceInfoErr := dibDeviceInfo.Serialize(io)
 		if _dibDeviceInfoErr != nil {
 			return errors.New("Error serializing 'dibDeviceInfo' field " + _dibDeviceInfoErr.Error())
 		}
 
 		// Simple Field (dibSuppSvcFamilies)
-		dibSuppSvcFamilies := CastIDIBSuppSvcFamilies(m.dibSuppSvcFamilies)
+		dibSuppSvcFamilies := CastIDIBSuppSvcFamilies(m.DibSuppSvcFamilies)
 		_dibSuppSvcFamiliesErr := dibSuppSvcFamilies.Serialize(io)
 		if _dibSuppSvcFamiliesErr != nil {
 			return errors.New("Error serializing 'dibSuppSvcFamilies' field " + _dibSuppSvcFamiliesErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequest.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequest.go
index 3bd174f..72c97a0 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequest.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequest.go
@@ -26,8 +26,8 @@ import (
 
 // The data-structure of this message
 type TunnelingRequest struct {
-	tunnelingRequestDataBlock ITunnelingRequestDataBlock
-	cemi                      ICEMI
+	TunnelingRequestDataBlock ITunnelingRequestDataBlock
+	Cemi                      ICEMI
 	KNXNetIPMessage
 }
 
@@ -47,7 +47,7 @@ func (m TunnelingRequest) initialize() spi.Message {
 }
 
 func NewTunnelingRequest(tunnelingRequestDataBlock ITunnelingRequestDataBlock, cemi ICEMI) KNXNetIPMessageInitializer {
-	return &TunnelingRequest{tunnelingRequestDataBlock: tunnelingRequestDataBlock, cemi: cemi}
+	return &TunnelingRequest{TunnelingRequestDataBlock: tunnelingRequestDataBlock, Cemi: cemi}
 }
 
 func CastITunnelingRequest(structType interface{}) ITunnelingRequest {
@@ -74,10 +74,10 @@ func (m TunnelingRequest) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.KNXNetIPMessage.LengthInBits()
 
 	// Simple field (tunnelingRequestDataBlock)
-	lengthInBits += m.tunnelingRequestDataBlock.LengthInBits()
+	lengthInBits += m.TunnelingRequestDataBlock.LengthInBits()
 
 	// Simple field (cemi)
-	lengthInBits += m.cemi.LengthInBits()
+	lengthInBits += m.Cemi.LengthInBits()
 
 	return lengthInBits
 }
@@ -118,14 +118,14 @@ func (m TunnelingRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (tunnelingRequestDataBlock)
-		tunnelingRequestDataBlock := CastITunnelingRequestDataBlock(m.tunnelingRequestDataBlock)
+		tunnelingRequestDataBlock := CastITunnelingRequestDataBlock(m.TunnelingRequestDataBlock)
 		_tunnelingRequestDataBlockErr := tunnelingRequestDataBlock.Serialize(io)
 		if _tunnelingRequestDataBlockErr != nil {
 			return errors.New("Error serializing 'tunnelingRequestDataBlock' field " + _tunnelingRequestDataBlockErr.Error())
 		}
 
 		// Simple Field (cemi)
-		cemi := CastICEMI(m.cemi)
+		cemi := CastICEMI(m.Cemi)
 		_cemiErr := cemi.Serialize(io)
 		if _cemiErr != nil {
 			return errors.New("Error serializing 'cemi' field " + _cemiErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequestDataBlock.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequestDataBlock.go
index 4312f0d..0d0c693 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequestDataBlock.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingRequestDataBlock.go
@@ -26,8 +26,8 @@ import (
 
 // The data-structure of this message
 type TunnelingRequestDataBlock struct {
-	communicationChannelId uint8
-	sequenceCounter        uint8
+	CommunicationChannelId uint8
+	SequenceCounter        uint8
 }
 
 // The corresponding interface
@@ -37,7 +37,7 @@ type ITunnelingRequestDataBlock interface {
 }
 
 func NewTunnelingRequestDataBlock(communicationChannelId uint8, sequenceCounter uint8) spi.Message {
-	return &TunnelingRequestDataBlock{communicationChannelId: communicationChannelId, sequenceCounter: sequenceCounter}
+	return &TunnelingRequestDataBlock{CommunicationChannelId: communicationChannelId, SequenceCounter: sequenceCounter}
 }
 
 func CastITunnelingRequestDataBlock(structType interface{}) ITunnelingRequestDataBlock {
@@ -130,14 +130,14 @@ func (m TunnelingRequestDataBlock) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (communicationChannelId)
-	communicationChannelId := uint8(m.communicationChannelId)
+	communicationChannelId := uint8(m.CommunicationChannelId)
 	_communicationChannelIdErr := io.WriteUint8(8, (communicationChannelId))
 	if _communicationChannelIdErr != nil {
 		return errors.New("Error serializing 'communicationChannelId' field " + _communicationChannelIdErr.Error())
 	}
 
 	// Simple Field (sequenceCounter)
-	sequenceCounter := uint8(m.sequenceCounter)
+	sequenceCounter := uint8(m.SequenceCounter)
 	_sequenceCounterErr := io.WriteUint8(8, (sequenceCounter))
 	if _sequenceCounterErr != nil {
 		return errors.New("Error serializing 'sequenceCounter' field " + _sequenceCounterErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponse.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponse.go
index 58cb43c..4722e31 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponse.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponse.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type TunnelingResponse struct {
-	tunnelingResponseDataBlock ITunnelingResponseDataBlock
+	TunnelingResponseDataBlock ITunnelingResponseDataBlock
 	KNXNetIPMessage
 }
 
@@ -46,7 +46,7 @@ func (m TunnelingResponse) initialize() spi.Message {
 }
 
 func NewTunnelingResponse(tunnelingResponseDataBlock ITunnelingResponseDataBlock) KNXNetIPMessageInitializer {
-	return &TunnelingResponse{tunnelingResponseDataBlock: tunnelingResponseDataBlock}
+	return &TunnelingResponse{TunnelingResponseDataBlock: tunnelingResponseDataBlock}
 }
 
 func CastITunnelingResponse(structType interface{}) ITunnelingResponse {
@@ -73,7 +73,7 @@ func (m TunnelingResponse) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.KNXNetIPMessage.LengthInBits()
 
 	// Simple field (tunnelingResponseDataBlock)
-	lengthInBits += m.tunnelingResponseDataBlock.LengthInBits()
+	lengthInBits += m.TunnelingResponseDataBlock.LengthInBits()
 
 	return lengthInBits
 }
@@ -103,7 +103,7 @@ func (m TunnelingResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (tunnelingResponseDataBlock)
-		tunnelingResponseDataBlock := CastITunnelingResponseDataBlock(m.tunnelingResponseDataBlock)
+		tunnelingResponseDataBlock := CastITunnelingResponseDataBlock(m.TunnelingResponseDataBlock)
 		_tunnelingResponseDataBlockErr := tunnelingResponseDataBlock.Serialize(io)
 		if _tunnelingResponseDataBlockErr != nil {
 			return errors.New("Error serializing 'tunnelingResponseDataBlock' field " + _tunnelingResponseDataBlockErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponseDataBlock.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponseDataBlock.go
index 0a6e6ef..68998c7 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponseDataBlock.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/TunnelingResponseDataBlock.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type TunnelingResponseDataBlock struct {
-	communicationChannelId uint8
-	sequenceCounter        uint8
-	status                 IStatus
+	CommunicationChannelId uint8
+	SequenceCounter        uint8
+	Status                 IStatus
 }
 
 // The corresponding interface
@@ -37,7 +37,7 @@ type ITunnelingResponseDataBlock interface {
 }
 
 func NewTunnelingResponseDataBlock(communicationChannelId uint8, sequenceCounter uint8, status IStatus) spi.Message {
-	return &TunnelingResponseDataBlock{communicationChannelId: communicationChannelId, sequenceCounter: sequenceCounter, status: status}
+	return &TunnelingResponseDataBlock{CommunicationChannelId: communicationChannelId, SequenceCounter: sequenceCounter, Status: status}
 }
 
 func CastITunnelingResponseDataBlock(structType interface{}) ITunnelingResponseDataBlock {
@@ -122,21 +122,21 @@ func (m TunnelingResponseDataBlock) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (communicationChannelId)
-	communicationChannelId := uint8(m.communicationChannelId)
+	communicationChannelId := uint8(m.CommunicationChannelId)
 	_communicationChannelIdErr := io.WriteUint8(8, (communicationChannelId))
 	if _communicationChannelIdErr != nil {
 		return errors.New("Error serializing 'communicationChannelId' field " + _communicationChannelIdErr.Error())
 	}
 
 	// Simple Field (sequenceCounter)
-	sequenceCounter := uint8(m.sequenceCounter)
+	sequenceCounter := uint8(m.SequenceCounter)
 	_sequenceCounterErr := io.WriteUint8(8, (sequenceCounter))
 	if _sequenceCounterErr != nil {
 		return errors.New("Error serializing 'sequenceCounter' field " + _sequenceCounterErr.Error())
 	}
 
 	// Enum field (status)
-	status := CastStatus(m.status)
+	status := CastStatus(m.Status)
 	_statusErr := status.Serialize(io)
 	if _statusErr != nil {
 		return errors.New("Error serializing 'status' field " + _statusErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
index 429b56c..dca4037 100644
--- a/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
+++ b/sandbox/plc4go/internal/plc4go/knxnetip/readwrite/model/UnknownMessage.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type UnknownMessage struct {
-	unknownData []int8
+	UnknownData []int8
 	KNXNetIPMessage
 }
 
@@ -45,7 +45,7 @@ func (m UnknownMessage) initialize() spi.Message {
 }
 
 func NewUnknownMessage(unknownData []int8) KNXNetIPMessageInitializer {
-	return &UnknownMessage{unknownData: unknownData}
+	return &UnknownMessage{UnknownData: unknownData}
 }
 
 func CastIUnknownMessage(structType interface{}) IUnknownMessage {
@@ -72,8 +72,8 @@ func (m UnknownMessage) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.KNXNetIPMessage.LengthInBits()
 
 	// Array field
-	if len(m.unknownData) > 0 {
-		lengthInBits += 8 * uint16(len(m.unknownData))
+	if len(m.UnknownData) > 0 {
+		lengthInBits += 8 * uint16(len(m.UnknownData))
 	}
 
 	return lengthInBits
@@ -105,8 +105,8 @@ func (m UnknownMessage) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Array Field (unknownData)
-		if m.unknownData != nil {
-			for _, _element := range m.unknownData {
+		if m.UnknownData != nil {
+			for _, _element := range m.UnknownData {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'unknownData' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticRequest.go
index 41a9112..34df24f 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUDiagnosticRequest.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUDiagnosticRequest struct {
-	status     uint16
-	eventCount uint16
+	Status     uint16
+	EventCount uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUDiagnosticRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUDiagnosticRequest(status uint16, eventCount uint16) ModbusPDUInitializer {
-	return &ModbusPDUDiagnosticRequest{status: status, eventCount: eventCount}
+	return &ModbusPDUDiagnosticRequest{Status: status, EventCount: eventCount}
 }
 
 func CastIModbusPDUDiagnosticRequest(structType interface{}) IModbusPDUDiagnosticRequest {
@@ -115,14 +115,14 @@ func (m ModbusPDUDiagnosticRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (status)
-		status := uint16(m.status)
+		status := uint16(m.Status)
 		_statusErr := io.WriteUint16(16, (status))
 		if _statusErr != nil {
 			return errors.New("Error serializing 'status' field " + _statusErr.Error())
 		}
 
 		// Simple Field (eventCount)
-		eventCount := uint16(m.eventCount)
+		eventCount := uint16(m.EventCount)
 		_eventCountErr := io.WriteUint16(16, (eventCount))
 		if _eventCountErr != nil {
 			return errors.New("Error serializing 'eventCount' field " + _eventCountErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUError.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUError.go
index 270ef7b..a4cff59 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUError.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUError.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUError struct {
-	exceptionCode uint8
+	ExceptionCode uint8
 	ModbusPDU
 }
 
@@ -53,7 +53,7 @@ func (m ModbusPDUError) initialize() spi.Message {
 }
 
 func NewModbusPDUError(exceptionCode uint8) ModbusPDUInitializer {
-	return &ModbusPDUError{exceptionCode: exceptionCode}
+	return &ModbusPDUError{ExceptionCode: exceptionCode}
 }
 
 func CastIModbusPDUError(structType interface{}) IModbusPDUError {
@@ -105,7 +105,7 @@ func (m ModbusPDUError) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (exceptionCode)
-		exceptionCode := uint8(m.exceptionCode)
+		exceptionCode := uint8(m.ExceptionCode)
 		_exceptionCodeErr := io.WriteUint8(8, (exceptionCode))
 		if _exceptionCodeErr != nil {
 			return errors.New("Error serializing 'exceptionCode' field " + _exceptionCodeErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
index f79a04c..249b59e 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUGetComEventLogResponse.go
@@ -25,10 +25,10 @@ import (
 
 // The data-structure of this message
 type ModbusPDUGetComEventLogResponse struct {
-	status       uint16
-	eventCount   uint16
-	messageCount uint16
-	events       []int8
+	Status       uint16
+	EventCount   uint16
+	MessageCount uint16
+	Events       []int8
 	ModbusPDU
 }
 
@@ -56,7 +56,7 @@ func (m ModbusPDUGetComEventLogResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUGetComEventLogResponse(status uint16, eventCount uint16, messageCount uint16, events []int8) ModbusPDUInitializer {
-	return &ModbusPDUGetComEventLogResponse{status: status, eventCount: eventCount, messageCount: messageCount, events: events}
+	return &ModbusPDUGetComEventLogResponse{Status: status, EventCount: eventCount, MessageCount: messageCount, Events: events}
 }
 
 func CastIModbusPDUGetComEventLogResponse(structType interface{}) IModbusPDUGetComEventLogResponse {
@@ -95,8 +95,8 @@ func (m ModbusPDUGetComEventLogResponse) LengthInBits() uint16 {
 	lengthInBits += 16
 
 	// Array field
-	if len(m.events) > 0 {
-		lengthInBits += 8 * uint16(len(m.events))
+	if len(m.Events) > 0 {
+		lengthInBits += 8 * uint16(len(m.Events))
 	}
 
 	return lengthInBits
@@ -152,36 +152,36 @@ func (m ModbusPDUGetComEventLogResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(uint8(len(m.events))) + uint8(uint8(6)))
+		byteCount := uint8(uint8(uint8(len(m.Events))) + uint8(uint8(6)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Simple Field (status)
-		status := uint16(m.status)
+		status := uint16(m.Status)
 		_statusErr := io.WriteUint16(16, (status))
 		if _statusErr != nil {
 			return errors.New("Error serializing 'status' field " + _statusErr.Error())
 		}
 
 		// Simple Field (eventCount)
-		eventCount := uint16(m.eventCount)
+		eventCount := uint16(m.EventCount)
 		_eventCountErr := io.WriteUint16(16, (eventCount))
 		if _eventCountErr != nil {
 			return errors.New("Error serializing 'eventCount' field " + _eventCountErr.Error())
 		}
 
 		// Simple Field (messageCount)
-		messageCount := uint16(m.messageCount)
+		messageCount := uint16(m.MessageCount)
 		_messageCountErr := io.WriteUint16(16, (messageCount))
 		if _messageCountErr != nil {
 			return errors.New("Error serializing 'messageCount' field " + _messageCountErr.Error())
 		}
 
 		// Array Field (events)
-		if m.events != nil {
-			for _, _element := range m.events {
+		if m.Events != nil {
+			for _, _element := range m.Events {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'events' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterRequest.go
index 60a5b4d..c7035b5 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterRequest.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type ModbusPDUMaskWriteHoldingRegisterRequest struct {
-	referenceAddress uint16
-	andMask          uint16
-	orMask           uint16
+	ReferenceAddress uint16
+	AndMask          uint16
+	OrMask           uint16
 	ModbusPDU
 }
 
@@ -55,7 +55,7 @@ func (m ModbusPDUMaskWriteHoldingRegisterRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUMaskWriteHoldingRegisterRequest(referenceAddress uint16, andMask uint16, orMask uint16) ModbusPDUInitializer {
-	return &ModbusPDUMaskWriteHoldingRegisterRequest{referenceAddress: referenceAddress, andMask: andMask, orMask: orMask}
+	return &ModbusPDUMaskWriteHoldingRegisterRequest{ReferenceAddress: referenceAddress, AndMask: andMask, OrMask: orMask}
 }
 
 func CastIModbusPDUMaskWriteHoldingRegisterRequest(structType interface{}) IModbusPDUMaskWriteHoldingRegisterRequest {
@@ -125,21 +125,21 @@ func (m ModbusPDUMaskWriteHoldingRegisterRequest) Serialize(io spi.WriteBuffer)
 	ser := func() error {
 
 		// Simple Field (referenceAddress)
-		referenceAddress := uint16(m.referenceAddress)
+		referenceAddress := uint16(m.ReferenceAddress)
 		_referenceAddressErr := io.WriteUint16(16, (referenceAddress))
 		if _referenceAddressErr != nil {
 			return errors.New("Error serializing 'referenceAddress' field " + _referenceAddressErr.Error())
 		}
 
 		// Simple Field (andMask)
-		andMask := uint16(m.andMask)
+		andMask := uint16(m.AndMask)
 		_andMaskErr := io.WriteUint16(16, (andMask))
 		if _andMaskErr != nil {
 			return errors.New("Error serializing 'andMask' field " + _andMaskErr.Error())
 		}
 
 		// Simple Field (orMask)
-		orMask := uint16(m.orMask)
+		orMask := uint16(m.OrMask)
 		_orMaskErr := io.WriteUint16(16, (orMask))
 		if _orMaskErr != nil {
 			return errors.New("Error serializing 'orMask' field " + _orMaskErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterResponse.go
index 21f7044..5dc7d69 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUMaskWriteHoldingRegisterResponse.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type ModbusPDUMaskWriteHoldingRegisterResponse struct {
-	referenceAddress uint16
-	andMask          uint16
-	orMask           uint16
+	ReferenceAddress uint16
+	AndMask          uint16
+	OrMask           uint16
 	ModbusPDU
 }
 
@@ -55,7 +55,7 @@ func (m ModbusPDUMaskWriteHoldingRegisterResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUMaskWriteHoldingRegisterResponse(referenceAddress uint16, andMask uint16, orMask uint16) ModbusPDUInitializer {
-	return &ModbusPDUMaskWriteHoldingRegisterResponse{referenceAddress: referenceAddress, andMask: andMask, orMask: orMask}
+	return &ModbusPDUMaskWriteHoldingRegisterResponse{ReferenceAddress: referenceAddress, AndMask: andMask, OrMask: orMask}
 }
 
 func CastIModbusPDUMaskWriteHoldingRegisterResponse(structType interface{}) IModbusPDUMaskWriteHoldingRegisterResponse {
@@ -125,21 +125,21 @@ func (m ModbusPDUMaskWriteHoldingRegisterResponse) Serialize(io spi.WriteBuffer)
 	ser := func() error {
 
 		// Simple Field (referenceAddress)
-		referenceAddress := uint16(m.referenceAddress)
+		referenceAddress := uint16(m.ReferenceAddress)
 		_referenceAddressErr := io.WriteUint16(16, (referenceAddress))
 		if _referenceAddressErr != nil {
 			return errors.New("Error serializing 'referenceAddress' field " + _referenceAddressErr.Error())
 		}
 
 		// Simple Field (andMask)
-		andMask := uint16(m.andMask)
+		andMask := uint16(m.AndMask)
 		_andMaskErr := io.WriteUint16(16, (andMask))
 		if _andMaskErr != nil {
 			return errors.New("Error serializing 'andMask' field " + _andMaskErr.Error())
 		}
 
 		// Simple Field (orMask)
-		orMask := uint16(m.orMask)
+		orMask := uint16(m.OrMask)
 		_orMaskErr := io.WriteUint16(16, (orMask))
 		if _orMaskErr != nil {
 			return errors.New("Error serializing 'orMask' field " + _orMaskErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsRequest.go
index f8e4267..7094fd7 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsRequest.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadCoilsRequest struct {
-	startingAddress uint16
-	quantity        uint16
+	StartingAddress uint16
+	Quantity        uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUReadCoilsRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUReadCoilsRequest(startingAddress uint16, quantity uint16) ModbusPDUInitializer {
-	return &ModbusPDUReadCoilsRequest{startingAddress: startingAddress, quantity: quantity}
+	return &ModbusPDUReadCoilsRequest{StartingAddress: startingAddress, Quantity: quantity}
 }
 
 func CastIModbusPDUReadCoilsRequest(structType interface{}) IModbusPDUReadCoilsRequest {
@@ -115,14 +115,14 @@ func (m ModbusPDUReadCoilsRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (startingAddress)
-		startingAddress := uint16(m.startingAddress)
+		startingAddress := uint16(m.StartingAddress)
 		_startingAddressErr := io.WriteUint16(16, (startingAddress))
 		if _startingAddressErr != nil {
 			return errors.New("Error serializing 'startingAddress' field " + _startingAddressErr.Error())
 		}
 
 		// Simple Field (quantity)
-		quantity := uint16(m.quantity)
+		quantity := uint16(m.Quantity)
 		_quantityErr := io.WriteUint16(16, (quantity))
 		if _quantityErr != nil {
 			return errors.New("Error serializing 'quantity' field " + _quantityErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
index c583905..2d9bffc 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadCoilsResponse.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadCoilsResponse struct {
-	value []int8
+	Value []int8
 	ModbusPDU
 }
 
@@ -53,7 +53,7 @@ func (m ModbusPDUReadCoilsResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUReadCoilsResponse(value []int8) ModbusPDUInitializer {
-	return &ModbusPDUReadCoilsResponse{value: value}
+	return &ModbusPDUReadCoilsResponse{Value: value}
 }
 
 func CastIModbusPDUReadCoilsResponse(structType interface{}) IModbusPDUReadCoilsResponse {
@@ -83,8 +83,8 @@ func (m ModbusPDUReadCoilsResponse) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.value) > 0 {
-		lengthInBits += 8 * uint16(len(m.value))
+	if len(m.Value) > 0 {
+		lengthInBits += 8 * uint16(len(m.Value))
 	}
 
 	return lengthInBits
@@ -122,15 +122,15 @@ func (m ModbusPDUReadCoilsResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(len(m.value)))
+		byteCount := uint8(uint8(len(m.Value)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (value)
-		if m.value != nil {
-			for _, _element := range m.value {
+		if m.Value != nil {
+			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'value' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsRequest.go
index ae2e04a..396940b 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsRequest.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadDiscreteInputsRequest struct {
-	startingAddress uint16
-	quantity        uint16
+	StartingAddress uint16
+	Quantity        uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUReadDiscreteInputsRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUReadDiscreteInputsRequest(startingAddress uint16, quantity uint16) ModbusPDUInitializer {
-	return &ModbusPDUReadDiscreteInputsRequest{startingAddress: startingAddress, quantity: quantity}
+	return &ModbusPDUReadDiscreteInputsRequest{StartingAddress: startingAddress, Quantity: quantity}
 }
 
 func CastIModbusPDUReadDiscreteInputsRequest(structType interface{}) IModbusPDUReadDiscreteInputsRequest {
@@ -115,14 +115,14 @@ func (m ModbusPDUReadDiscreteInputsRequest) Serialize(io spi.WriteBuffer) error
 	ser := func() error {
 
 		// Simple Field (startingAddress)
-		startingAddress := uint16(m.startingAddress)
+		startingAddress := uint16(m.StartingAddress)
 		_startingAddressErr := io.WriteUint16(16, (startingAddress))
 		if _startingAddressErr != nil {
 			return errors.New("Error serializing 'startingAddress' field " + _startingAddressErr.Error())
 		}
 
 		// Simple Field (quantity)
-		quantity := uint16(m.quantity)
+		quantity := uint16(m.Quantity)
 		_quantityErr := io.WriteUint16(16, (quantity))
 		if _quantityErr != nil {
 			return errors.New("Error serializing 'quantity' field " + _quantityErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
index 1a725aa..ec76954 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadDiscreteInputsResponse.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadDiscreteInputsResponse struct {
-	value []int8
+	Value []int8
 	ModbusPDU
 }
 
@@ -53,7 +53,7 @@ func (m ModbusPDUReadDiscreteInputsResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUReadDiscreteInputsResponse(value []int8) ModbusPDUInitializer {
-	return &ModbusPDUReadDiscreteInputsResponse{value: value}
+	return &ModbusPDUReadDiscreteInputsResponse{Value: value}
 }
 
 func CastIModbusPDUReadDiscreteInputsResponse(structType interface{}) IModbusPDUReadDiscreteInputsResponse {
@@ -83,8 +83,8 @@ func (m ModbusPDUReadDiscreteInputsResponse) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.value) > 0 {
-		lengthInBits += 8 * uint16(len(m.value))
+	if len(m.Value) > 0 {
+		lengthInBits += 8 * uint16(len(m.Value))
 	}
 
 	return lengthInBits
@@ -122,15 +122,15 @@ func (m ModbusPDUReadDiscreteInputsResponse) Serialize(io spi.WriteBuffer) error
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(len(m.value)))
+		byteCount := uint8(uint8(len(m.Value)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (value)
-		if m.value != nil {
-			for _, _element := range m.value {
+		if m.Value != nil {
+			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'value' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusResponse.go
index 5a0d8fd..cbf107d 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadExceptionStatusResponse.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadExceptionStatusResponse struct {
-	value uint8
+	Value uint8
 	ModbusPDU
 }
 
@@ -53,7 +53,7 @@ func (m ModbusPDUReadExceptionStatusResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUReadExceptionStatusResponse(value uint8) ModbusPDUInitializer {
-	return &ModbusPDUReadExceptionStatusResponse{value: value}
+	return &ModbusPDUReadExceptionStatusResponse{Value: value}
 }
 
 func CastIModbusPDUReadExceptionStatusResponse(structType interface{}) IModbusPDUReadExceptionStatusResponse {
@@ -105,7 +105,7 @@ func (m ModbusPDUReadExceptionStatusResponse) Serialize(io spi.WriteBuffer) erro
 	ser := func() error {
 
 		// Simple Field (value)
-		value := uint8(m.value)
+		value := uint8(m.Value)
 		_valueErr := io.WriteUint8(8, (value))
 		if _valueErr != nil {
 			return errors.New("Error serializing 'value' field " + _valueErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueRequest.go
index 6992155..a816f45 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueRequest.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadFifoQueueRequest struct {
-	fifoPointerAddress uint16
+	FifoPointerAddress uint16
 	ModbusPDU
 }
 
@@ -53,7 +53,7 @@ func (m ModbusPDUReadFifoQueueRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUReadFifoQueueRequest(fifoPointerAddress uint16) ModbusPDUInitializer {
-	return &ModbusPDUReadFifoQueueRequest{fifoPointerAddress: fifoPointerAddress}
+	return &ModbusPDUReadFifoQueueRequest{FifoPointerAddress: fifoPointerAddress}
 }
 
 func CastIModbusPDUReadFifoQueueRequest(structType interface{}) IModbusPDUReadFifoQueueRequest {
@@ -105,7 +105,7 @@ func (m ModbusPDUReadFifoQueueRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (fifoPointerAddress)
-		fifoPointerAddress := uint16(m.fifoPointerAddress)
+		fifoPointerAddress := uint16(m.FifoPointerAddress)
 		_fifoPointerAddressErr := io.WriteUint16(16, (fifoPointerAddress))
 		if _fifoPointerAddressErr != nil {
 			return errors.New("Error serializing 'fifoPointerAddress' field " + _fifoPointerAddressErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
index d41cf0a..88503fc 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFifoQueueResponse.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadFifoQueueResponse struct {
-	fifoValue []uint16
+	FifoValue []uint16
 	ModbusPDU
 }
 
@@ -53,7 +53,7 @@ func (m ModbusPDUReadFifoQueueResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUReadFifoQueueResponse(fifoValue []uint16) ModbusPDUInitializer {
-	return &ModbusPDUReadFifoQueueResponse{fifoValue: fifoValue}
+	return &ModbusPDUReadFifoQueueResponse{FifoValue: fifoValue}
 }
 
 func CastIModbusPDUReadFifoQueueResponse(structType interface{}) IModbusPDUReadFifoQueueResponse {
@@ -86,8 +86,8 @@ func (m ModbusPDUReadFifoQueueResponse) LengthInBits() uint16 {
 	lengthInBits += 16
 
 	// Array field
-	if len(m.fifoValue) > 0 {
-		lengthInBits += 16 * uint16(len(m.fifoValue))
+	if len(m.FifoValue) > 0 {
+		lengthInBits += 16 * uint16(len(m.FifoValue))
 	}
 
 	return lengthInBits
@@ -131,22 +131,22 @@ func (m ModbusPDUReadFifoQueueResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint16(uint16(uint16(uint16(uint16(len(m.fifoValue)))*uint16(uint16(2)))) + uint16(uint16(2)))
+		byteCount := uint16(uint16(uint16(uint16(uint16(len(m.FifoValue)))*uint16(uint16(2)))) + uint16(uint16(2)))
 		_byteCountErr := io.WriteUint16(16, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Implicit Field (fifoCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		fifoCount := uint16(uint16(uint16(uint16(uint16(len(m.fifoValue)))*uint16(uint16(2)))) / uint16(uint16(2)))
+		fifoCount := uint16(uint16(uint16(uint16(uint16(len(m.FifoValue)))*uint16(uint16(2)))) / uint16(uint16(2)))
 		_fifoCountErr := io.WriteUint16(16, (fifoCount))
 		if _fifoCountErr != nil {
 			return errors.New("Error serializing 'fifoCount' field " + _fifoCountErr.Error())
 		}
 
 		// Array Field (fifoValue)
-		if m.fifoValue != nil {
-			for _, _element := range m.fifoValue {
+		if m.FifoValue != nil {
+			for _, _element := range m.FifoValue {
 				_elementErr := io.WriteUint16(16, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'fifoValue' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
index 46b2fe3..0b7d115 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequest.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadFileRecordRequest struct {
-	items []IModbusPDUReadFileRecordRequestItem
+	Items []IModbusPDUReadFileRecordRequestItem
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUReadFileRecordRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUReadFileRecordRequest(items []IModbusPDUReadFileRecordRequestItem) ModbusPDUInitializer {
-	return &ModbusPDUReadFileRecordRequest{items: items}
+	return &ModbusPDUReadFileRecordRequest{Items: items}
 }
 
 func CastIModbusPDUReadFileRecordRequest(structType interface{}) IModbusPDUReadFileRecordRequest {
@@ -84,8 +84,8 @@ func (m ModbusPDUReadFileRecordRequest) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.items) > 0 {
-		for _, element := range m.items {
+	if len(m.Items) > 0 {
+		for _, element := range m.Items {
 			lengthInBits += element.LengthInBits()
 		}
 	}
@@ -138,15 +138,15 @@ func (m ModbusPDUReadFileRecordRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(itemsArraySizeInBytes(m.items)))
+		byteCount := uint8(uint8(itemsArraySizeInBytes(m.Items)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (items)
-		if m.items != nil {
-			for _, _element := range m.items {
+		if m.Items != nil {
+			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'items' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequestItem.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequestItem.go
index 8abc6a2..b1fdbc8 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequestItem.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordRequestItem.go
@@ -25,10 +25,10 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadFileRecordRequestItem struct {
-	referenceType uint8
-	fileNumber    uint16
-	recordNumber  uint16
-	recordLength  uint16
+	ReferenceType uint8
+	FileNumber    uint16
+	RecordNumber  uint16
+	RecordLength  uint16
 }
 
 // The corresponding interface
@@ -38,7 +38,7 @@ type IModbusPDUReadFileRecordRequestItem interface {
 }
 
 func NewModbusPDUReadFileRecordRequestItem(referenceType uint8, fileNumber uint16, recordNumber uint16, recordLength uint16) spi.Message {
-	return &ModbusPDUReadFileRecordRequestItem{referenceType: referenceType, fileNumber: fileNumber, recordNumber: recordNumber, recordLength: recordLength}
+	return &ModbusPDUReadFileRecordRequestItem{ReferenceType: referenceType, FileNumber: fileNumber, RecordNumber: recordNumber, RecordLength: recordLength}
 }
 
 func CastIModbusPDUReadFileRecordRequestItem(structType interface{}) IModbusPDUReadFileRecordRequestItem {
@@ -116,28 +116,28 @@ func ModbusPDUReadFileRecordRequestItemParse(io *spi.ReadBuffer) (spi.Message, e
 func (m ModbusPDUReadFileRecordRequestItem) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (referenceType)
-	referenceType := uint8(m.referenceType)
+	referenceType := uint8(m.ReferenceType)
 	_referenceTypeErr := io.WriteUint8(8, (referenceType))
 	if _referenceTypeErr != nil {
 		return errors.New("Error serializing 'referenceType' field " + _referenceTypeErr.Error())
 	}
 
 	// Simple Field (fileNumber)
-	fileNumber := uint16(m.fileNumber)
+	fileNumber := uint16(m.FileNumber)
 	_fileNumberErr := io.WriteUint16(16, (fileNumber))
 	if _fileNumberErr != nil {
 		return errors.New("Error serializing 'fileNumber' field " + _fileNumberErr.Error())
 	}
 
 	// Simple Field (recordNumber)
-	recordNumber := uint16(m.recordNumber)
+	recordNumber := uint16(m.RecordNumber)
 	_recordNumberErr := io.WriteUint16(16, (recordNumber))
 	if _recordNumberErr != nil {
 		return errors.New("Error serializing 'recordNumber' field " + _recordNumberErr.Error())
 	}
 
 	// Simple Field (recordLength)
-	recordLength := uint16(m.recordLength)
+	recordLength := uint16(m.RecordLength)
 	_recordLengthErr := io.WriteUint16(16, (recordLength))
 	if _recordLengthErr != nil {
 		return errors.New("Error serializing 'recordLength' field " + _recordLengthErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
index 31c733f..8e046bd 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponse.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadFileRecordResponse struct {
-	items []IModbusPDUReadFileRecordResponseItem
+	Items []IModbusPDUReadFileRecordResponseItem
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUReadFileRecordResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUReadFileRecordResponse(items []IModbusPDUReadFileRecordResponseItem) ModbusPDUInitializer {
-	return &ModbusPDUReadFileRecordResponse{items: items}
+	return &ModbusPDUReadFileRecordResponse{Items: items}
 }
 
 func CastIModbusPDUReadFileRecordResponse(structType interface{}) IModbusPDUReadFileRecordResponse {
@@ -84,8 +84,8 @@ func (m ModbusPDUReadFileRecordResponse) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.items) > 0 {
-		for _, element := range m.items {
+	if len(m.Items) > 0 {
+		for _, element := range m.Items {
 			lengthInBits += element.LengthInBits()
 		}
 	}
@@ -138,15 +138,15 @@ func (m ModbusPDUReadFileRecordResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(itemsArraySizeInBytes(m.items)))
+		byteCount := uint8(uint8(itemsArraySizeInBytes(m.Items)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (items)
-		if m.items != nil {
-			for _, _element := range m.items {
+		if m.Items != nil {
+			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'items' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
index 3e26407..05fc1df 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadFileRecordResponseItem.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadFileRecordResponseItem struct {
-	referenceType uint8
-	data          []int8
+	ReferenceType uint8
+	Data          []int8
 }
 
 // The corresponding interface
@@ -36,7 +36,7 @@ type IModbusPDUReadFileRecordResponseItem interface {
 }
 
 func NewModbusPDUReadFileRecordResponseItem(referenceType uint8, data []int8) spi.Message {
-	return &ModbusPDUReadFileRecordResponseItem{referenceType: referenceType, data: data}
+	return &ModbusPDUReadFileRecordResponseItem{ReferenceType: referenceType, Data: data}
 }
 
 func CastIModbusPDUReadFileRecordResponseItem(structType interface{}) IModbusPDUReadFileRecordResponseItem {
@@ -69,8 +69,8 @@ func (m ModbusPDUReadFileRecordResponseItem) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.data) > 0 {
-		lengthInBits += 8 * uint16(len(m.data))
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
 	}
 
 	return lengthInBits
@@ -114,22 +114,22 @@ func ModbusPDUReadFileRecordResponseItemParse(io *spi.ReadBuffer) (spi.Message,
 func (m ModbusPDUReadFileRecordResponseItem) Serialize(io spi.WriteBuffer) error {
 
 	// Implicit Field (dataLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	dataLength := uint8(uint8(uint8(len(m.data))) + uint8(uint8(1)))
+	dataLength := uint8(uint8(uint8(len(m.Data))) + uint8(uint8(1)))
 	_dataLengthErr := io.WriteUint8(8, (dataLength))
 	if _dataLengthErr != nil {
 		return errors.New("Error serializing 'dataLength' field " + _dataLengthErr.Error())
 	}
 
 	// Simple Field (referenceType)
-	referenceType := uint8(m.referenceType)
+	referenceType := uint8(m.ReferenceType)
 	_referenceTypeErr := io.WriteUint8(8, (referenceType))
 	if _referenceTypeErr != nil {
 		return errors.New("Error serializing 'referenceType' field " + _referenceTypeErr.Error())
 	}
 
 	// Array Field (data)
-	if m.data != nil {
-		for _, _element := range m.data {
+	if m.Data != nil {
+		for _, _element := range m.Data {
 			_elementErr := io.WriteInt8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'data' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersRequest.go
index f0be4d4..7e21759 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersRequest.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadHoldingRegistersRequest struct {
-	startingAddress uint16
-	quantity        uint16
+	StartingAddress uint16
+	Quantity        uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUReadHoldingRegistersRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUReadHoldingRegistersRequest(startingAddress uint16, quantity uint16) ModbusPDUInitializer {
-	return &ModbusPDUReadHoldingRegistersRequest{startingAddress: startingAddress, quantity: quantity}
+	return &ModbusPDUReadHoldingRegistersRequest{StartingAddress: startingAddress, Quantity: quantity}
 }
 
 func CastIModbusPDUReadHoldingRegistersRequest(structType interface{}) IModbusPDUReadHoldingRegistersRequest {
@@ -115,14 +115,14 @@ func (m ModbusPDUReadHoldingRegistersRequest) Serialize(io spi.WriteBuffer) erro
 	ser := func() error {
 
 		// Simple Field (startingAddress)
-		startingAddress := uint16(m.startingAddress)
+		startingAddress := uint16(m.StartingAddress)
 		_startingAddressErr := io.WriteUint16(16, (startingAddress))
 		if _startingAddressErr != nil {
 			return errors.New("Error serializing 'startingAddress' field " + _startingAddressErr.Error())
 		}
 
 		// Simple Field (quantity)
-		quantity := uint16(m.quantity)
+		quantity := uint16(m.Quantity)
 		_quantityErr := io.WriteUint16(16, (quantity))
 		if _quantityErr != nil {
 			return errors.New("Error serializing 'quantity' field " + _quantityErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
index f51b02e..6252558 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadHoldingRegistersResponse.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadHoldingRegistersResponse struct {
-	value []int8
+	Value []int8
 	ModbusPDU
 }
 
@@ -53,7 +53,7 @@ func (m ModbusPDUReadHoldingRegistersResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUReadHoldingRegistersResponse(value []int8) ModbusPDUInitializer {
-	return &ModbusPDUReadHoldingRegistersResponse{value: value}
+	return &ModbusPDUReadHoldingRegistersResponse{Value: value}
 }
 
 func CastIModbusPDUReadHoldingRegistersResponse(structType interface{}) IModbusPDUReadHoldingRegistersResponse {
@@ -83,8 +83,8 @@ func (m ModbusPDUReadHoldingRegistersResponse) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.value) > 0 {
-		lengthInBits += 8 * uint16(len(m.value))
+	if len(m.Value) > 0 {
+		lengthInBits += 8 * uint16(len(m.Value))
 	}
 
 	return lengthInBits
@@ -122,15 +122,15 @@ func (m ModbusPDUReadHoldingRegistersResponse) Serialize(io spi.WriteBuffer) err
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(len(m.value)))
+		byteCount := uint8(uint8(len(m.Value)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (value)
-		if m.value != nil {
-			for _, _element := range m.value {
+		if m.Value != nil {
+			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'value' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersRequest.go
index 81de361..8df9a6e 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersRequest.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadInputRegistersRequest struct {
-	startingAddress uint16
-	quantity        uint16
+	StartingAddress uint16
+	Quantity        uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUReadInputRegistersRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUReadInputRegistersRequest(startingAddress uint16, quantity uint16) ModbusPDUInitializer {
-	return &ModbusPDUReadInputRegistersRequest{startingAddress: startingAddress, quantity: quantity}
+	return &ModbusPDUReadInputRegistersRequest{StartingAddress: startingAddress, Quantity: quantity}
 }
 
 func CastIModbusPDUReadInputRegistersRequest(structType interface{}) IModbusPDUReadInputRegistersRequest {
@@ -115,14 +115,14 @@ func (m ModbusPDUReadInputRegistersRequest) Serialize(io spi.WriteBuffer) error
 	ser := func() error {
 
 		// Simple Field (startingAddress)
-		startingAddress := uint16(m.startingAddress)
+		startingAddress := uint16(m.StartingAddress)
 		_startingAddressErr := io.WriteUint16(16, (startingAddress))
 		if _startingAddressErr != nil {
 			return errors.New("Error serializing 'startingAddress' field " + _startingAddressErr.Error())
 		}
 
 		// Simple Field (quantity)
-		quantity := uint16(m.quantity)
+		quantity := uint16(m.Quantity)
 		_quantityErr := io.WriteUint16(16, (quantity))
 		if _quantityErr != nil {
 			return errors.New("Error serializing 'quantity' field " + _quantityErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
index e0baddc..a6c876b 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadInputRegistersResponse.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadInputRegistersResponse struct {
-	value []int8
+	Value []int8
 	ModbusPDU
 }
 
@@ -53,7 +53,7 @@ func (m ModbusPDUReadInputRegistersResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUReadInputRegistersResponse(value []int8) ModbusPDUInitializer {
-	return &ModbusPDUReadInputRegistersResponse{value: value}
+	return &ModbusPDUReadInputRegistersResponse{Value: value}
 }
 
 func CastIModbusPDUReadInputRegistersResponse(structType interface{}) IModbusPDUReadInputRegistersResponse {
@@ -83,8 +83,8 @@ func (m ModbusPDUReadInputRegistersResponse) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.value) > 0 {
-		lengthInBits += 8 * uint16(len(m.value))
+	if len(m.Value) > 0 {
+		lengthInBits += 8 * uint16(len(m.Value))
 	}
 
 	return lengthInBits
@@ -122,15 +122,15 @@ func (m ModbusPDUReadInputRegistersResponse) Serialize(io spi.WriteBuffer) error
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(len(m.value)))
+		byteCount := uint8(uint8(len(m.Value)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (value)
-		if m.value != nil {
-			for _, _element := range m.value {
+		if m.Value != nil {
+			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'value' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
index ae254aa..e825fd9 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersRequest.go
@@ -25,11 +25,11 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadWriteMultipleHoldingRegistersRequest struct {
-	readStartingAddress  uint16
-	readQuantity         uint16
-	writeStartingAddress uint16
-	writeQuantity        uint16
-	value                []int8
+	ReadStartingAddress  uint16
+	ReadQuantity         uint16
+	WriteStartingAddress uint16
+	WriteQuantity        uint16
+	Value                []int8
 	ModbusPDU
 }
 
@@ -57,7 +57,7 @@ func (m ModbusPDUReadWriteMultipleHoldingRegistersRequest) initialize() spi.Mess
 }
 
 func NewModbusPDUReadWriteMultipleHoldingRegistersRequest(readStartingAddress uint16, readQuantity uint16, writeStartingAddress uint16, writeQuantity uint16, value []int8) ModbusPDUInitializer {
-	return &ModbusPDUReadWriteMultipleHoldingRegistersRequest{readStartingAddress: readStartingAddress, readQuantity: readQuantity, writeStartingAddress: writeStartingAddress, writeQuantity: writeQuantity, value: value}
+	return &ModbusPDUReadWriteMultipleHoldingRegistersRequest{ReadStartingAddress: readStartingAddress, ReadQuantity: readQuantity, WriteStartingAddress: writeStartingAddress, WriteQuantity: writeQuantity, Value: value}
 }
 
 func CastIModbusPDUReadWriteMultipleHoldingRegistersRequest(structType interface{}) IModbusPDUReadWriteMultipleHoldingRegistersRequest {
@@ -99,8 +99,8 @@ func (m ModbusPDUReadWriteMultipleHoldingRegistersRequest) LengthInBits() uint16
 	lengthInBits += 8
 
 	// Array field
-	if len(m.value) > 0 {
-		lengthInBits += 8 * uint16(len(m.value))
+	if len(m.Value) > 0 {
+		lengthInBits += 8 * uint16(len(m.Value))
 	}
 
 	return lengthInBits
@@ -162,43 +162,43 @@ func (m ModbusPDUReadWriteMultipleHoldingRegistersRequest) Serialize(io spi.Writ
 	ser := func() error {
 
 		// Simple Field (readStartingAddress)
-		readStartingAddress := uint16(m.readStartingAddress)
+		readStartingAddress := uint16(m.ReadStartingAddress)
 		_readStartingAddressErr := io.WriteUint16(16, (readStartingAddress))
 		if _readStartingAddressErr != nil {
 			return errors.New("Error serializing 'readStartingAddress' field " + _readStartingAddressErr.Error())
 		}
 
 		// Simple Field (readQuantity)
-		readQuantity := uint16(m.readQuantity)
+		readQuantity := uint16(m.ReadQuantity)
 		_readQuantityErr := io.WriteUint16(16, (readQuantity))
 		if _readQuantityErr != nil {
 			return errors.New("Error serializing 'readQuantity' field " + _readQuantityErr.Error())
 		}
 
 		// Simple Field (writeStartingAddress)
-		writeStartingAddress := uint16(m.writeStartingAddress)
+		writeStartingAddress := uint16(m.WriteStartingAddress)
 		_writeStartingAddressErr := io.WriteUint16(16, (writeStartingAddress))
 		if _writeStartingAddressErr != nil {
 			return errors.New("Error serializing 'writeStartingAddress' field " + _writeStartingAddressErr.Error())
 		}
 
 		// Simple Field (writeQuantity)
-		writeQuantity := uint16(m.writeQuantity)
+		writeQuantity := uint16(m.WriteQuantity)
 		_writeQuantityErr := io.WriteUint16(16, (writeQuantity))
 		if _writeQuantityErr != nil {
 			return errors.New("Error serializing 'writeQuantity' field " + _writeQuantityErr.Error())
 		}
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(len(m.value)))
+		byteCount := uint8(uint8(len(m.Value)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (value)
-		if m.value != nil {
-			for _, _element := range m.value {
+		if m.Value != nil {
+			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'value' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
index 97e2efe..8b36139 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReadWriteMultipleHoldingRegistersResponse.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReadWriteMultipleHoldingRegistersResponse struct {
-	value []int8
+	Value []int8
 	ModbusPDU
 }
 
@@ -53,7 +53,7 @@ func (m ModbusPDUReadWriteMultipleHoldingRegistersResponse) initialize() spi.Mes
 }
 
 func NewModbusPDUReadWriteMultipleHoldingRegistersResponse(value []int8) ModbusPDUInitializer {
-	return &ModbusPDUReadWriteMultipleHoldingRegistersResponse{value: value}
+	return &ModbusPDUReadWriteMultipleHoldingRegistersResponse{Value: value}
 }
 
 func CastIModbusPDUReadWriteMultipleHoldingRegistersResponse(structType interface{}) IModbusPDUReadWriteMultipleHoldingRegistersResponse {
@@ -83,8 +83,8 @@ func (m ModbusPDUReadWriteMultipleHoldingRegistersResponse) LengthInBits() uint1
 	lengthInBits += 8
 
 	// Array field
-	if len(m.value) > 0 {
-		lengthInBits += 8 * uint16(len(m.value))
+	if len(m.Value) > 0 {
+		lengthInBits += 8 * uint16(len(m.Value))
 	}
 
 	return lengthInBits
@@ -122,15 +122,15 @@ func (m ModbusPDUReadWriteMultipleHoldingRegistersResponse) Serialize(io spi.Wri
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(len(m.value)))
+		byteCount := uint8(uint8(len(m.Value)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (value)
-		if m.value != nil {
-			for _, _element := range m.value {
+		if m.Value != nil {
+			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'value' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
index dc53764..54d3f8a 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUReportServerIdResponse.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUReportServerIdResponse struct {
-	value []int8
+	Value []int8
 	ModbusPDU
 }
 
@@ -53,7 +53,7 @@ func (m ModbusPDUReportServerIdResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUReportServerIdResponse(value []int8) ModbusPDUInitializer {
-	return &ModbusPDUReportServerIdResponse{value: value}
+	return &ModbusPDUReportServerIdResponse{Value: value}
 }
 
 func CastIModbusPDUReportServerIdResponse(structType interface{}) IModbusPDUReportServerIdResponse {
@@ -83,8 +83,8 @@ func (m ModbusPDUReportServerIdResponse) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.value) > 0 {
-		lengthInBits += 8 * uint16(len(m.value))
+	if len(m.Value) > 0 {
+		lengthInBits += 8 * uint16(len(m.Value))
 	}
 
 	return lengthInBits
@@ -122,15 +122,15 @@ func (m ModbusPDUReportServerIdResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(len(m.value)))
+		byteCount := uint8(uint8(len(m.Value)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (value)
-		if m.value != nil {
-			for _, _element := range m.value {
+		if m.Value != nil {
+			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'value' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
index af4bb6e..1dfed04 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequest.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteFileRecordRequest struct {
-	items []IModbusPDUWriteFileRecordRequestItem
+	Items []IModbusPDUWriteFileRecordRequestItem
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUWriteFileRecordRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUWriteFileRecordRequest(items []IModbusPDUWriteFileRecordRequestItem) ModbusPDUInitializer {
-	return &ModbusPDUWriteFileRecordRequest{items: items}
+	return &ModbusPDUWriteFileRecordRequest{Items: items}
 }
 
 func CastIModbusPDUWriteFileRecordRequest(structType interface{}) IModbusPDUWriteFileRecordRequest {
@@ -84,8 +84,8 @@ func (m ModbusPDUWriteFileRecordRequest) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.items) > 0 {
-		for _, element := range m.items {
+	if len(m.Items) > 0 {
+		for _, element := range m.Items {
 			lengthInBits += element.LengthInBits()
 		}
 	}
@@ -138,15 +138,15 @@ func (m ModbusPDUWriteFileRecordRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(itemsArraySizeInBytes(m.items)))
+		byteCount := uint8(uint8(itemsArraySizeInBytes(m.Items)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (items)
-		if m.items != nil {
-			for _, _element := range m.items {
+		if m.Items != nil {
+			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'items' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
index 1595156..4547ac3 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordRequestItem.go
@@ -25,10 +25,10 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteFileRecordRequestItem struct {
-	referenceType uint8
-	fileNumber    uint16
-	recordNumber  uint16
-	recordData    []int8
+	ReferenceType uint8
+	FileNumber    uint16
+	RecordNumber  uint16
+	RecordData    []int8
 }
 
 // The corresponding interface
@@ -38,7 +38,7 @@ type IModbusPDUWriteFileRecordRequestItem interface {
 }
 
 func NewModbusPDUWriteFileRecordRequestItem(referenceType uint8, fileNumber uint16, recordNumber uint16, recordData []int8) spi.Message {
-	return &ModbusPDUWriteFileRecordRequestItem{referenceType: referenceType, fileNumber: fileNumber, recordNumber: recordNumber, recordData: recordData}
+	return &ModbusPDUWriteFileRecordRequestItem{ReferenceType: referenceType, FileNumber: fileNumber, RecordNumber: recordNumber, RecordData: recordData}
 }
 
 func CastIModbusPDUWriteFileRecordRequestItem(structType interface{}) IModbusPDUWriteFileRecordRequestItem {
@@ -77,8 +77,8 @@ func (m ModbusPDUWriteFileRecordRequestItem) LengthInBits() uint16 {
 	lengthInBits += 16
 
 	// Array field
-	if len(m.recordData) > 0 {
-		lengthInBits += 8 * uint16(len(m.recordData))
+	if len(m.RecordData) > 0 {
+		lengthInBits += 8 * uint16(len(m.RecordData))
 	}
 
 	return lengthInBits
@@ -134,36 +134,36 @@ func ModbusPDUWriteFileRecordRequestItemParse(io *spi.ReadBuffer) (spi.Message,
 func (m ModbusPDUWriteFileRecordRequestItem) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (referenceType)
-	referenceType := uint8(m.referenceType)
+	referenceType := uint8(m.ReferenceType)
 	_referenceTypeErr := io.WriteUint8(8, (referenceType))
 	if _referenceTypeErr != nil {
 		return errors.New("Error serializing 'referenceType' field " + _referenceTypeErr.Error())
 	}
 
 	// Simple Field (fileNumber)
-	fileNumber := uint16(m.fileNumber)
+	fileNumber := uint16(m.FileNumber)
 	_fileNumberErr := io.WriteUint16(16, (fileNumber))
 	if _fileNumberErr != nil {
 		return errors.New("Error serializing 'fileNumber' field " + _fileNumberErr.Error())
 	}
 
 	// Simple Field (recordNumber)
-	recordNumber := uint16(m.recordNumber)
+	recordNumber := uint16(m.RecordNumber)
 	_recordNumberErr := io.WriteUint16(16, (recordNumber))
 	if _recordNumberErr != nil {
 		return errors.New("Error serializing 'recordNumber' field " + _recordNumberErr.Error())
 	}
 
 	// Implicit Field (recordLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	recordLength := uint16(uint16(uint16(len(m.recordData))) / uint16(uint16(2)))
+	recordLength := uint16(uint16(uint16(len(m.RecordData))) / uint16(uint16(2)))
 	_recordLengthErr := io.WriteUint16(16, (recordLength))
 	if _recordLengthErr != nil {
 		return errors.New("Error serializing 'recordLength' field " + _recordLengthErr.Error())
 	}
 
 	// Array Field (recordData)
-	if m.recordData != nil {
-		for _, _element := range m.recordData {
+	if m.RecordData != nil {
+		for _, _element := range m.RecordData {
 			_elementErr := io.WriteInt8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'recordData' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
index 2afe59e..a5b0934 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponse.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteFileRecordResponse struct {
-	items []IModbusPDUWriteFileRecordResponseItem
+	Items []IModbusPDUWriteFileRecordResponseItem
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUWriteFileRecordResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUWriteFileRecordResponse(items []IModbusPDUWriteFileRecordResponseItem) ModbusPDUInitializer {
-	return &ModbusPDUWriteFileRecordResponse{items: items}
+	return &ModbusPDUWriteFileRecordResponse{Items: items}
 }
 
 func CastIModbusPDUWriteFileRecordResponse(structType interface{}) IModbusPDUWriteFileRecordResponse {
@@ -84,8 +84,8 @@ func (m ModbusPDUWriteFileRecordResponse) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.items) > 0 {
-		for _, element := range m.items {
+	if len(m.Items) > 0 {
+		for _, element := range m.Items {
 			lengthInBits += element.LengthInBits()
 		}
 	}
@@ -138,15 +138,15 @@ func (m ModbusPDUWriteFileRecordResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(itemsArraySizeInBytes(m.items)))
+		byteCount := uint8(uint8(itemsArraySizeInBytes(m.Items)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (items)
-		if m.items != nil {
-			for _, _element := range m.items {
+		if m.Items != nil {
+			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'items' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
index d32263d..deab30e 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteFileRecordResponseItem.go
@@ -25,10 +25,10 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteFileRecordResponseItem struct {
-	referenceType uint8
-	fileNumber    uint16
-	recordNumber  uint16
-	recordData    []int8
+	ReferenceType uint8
+	FileNumber    uint16
+	RecordNumber  uint16
+	RecordData    []int8
 }
 
 // The corresponding interface
@@ -38,7 +38,7 @@ type IModbusPDUWriteFileRecordResponseItem interface {
 }
 
 func NewModbusPDUWriteFileRecordResponseItem(referenceType uint8, fileNumber uint16, recordNumber uint16, recordData []int8) spi.Message {
-	return &ModbusPDUWriteFileRecordResponseItem{referenceType: referenceType, fileNumber: fileNumber, recordNumber: recordNumber, recordData: recordData}
+	return &ModbusPDUWriteFileRecordResponseItem{ReferenceType: referenceType, FileNumber: fileNumber, RecordNumber: recordNumber, RecordData: recordData}
 }
 
 func CastIModbusPDUWriteFileRecordResponseItem(structType interface{}) IModbusPDUWriteFileRecordResponseItem {
@@ -77,8 +77,8 @@ func (m ModbusPDUWriteFileRecordResponseItem) LengthInBits() uint16 {
 	lengthInBits += 16
 
 	// Array field
-	if len(m.recordData) > 0 {
-		lengthInBits += 8 * uint16(len(m.recordData))
+	if len(m.RecordData) > 0 {
+		lengthInBits += 8 * uint16(len(m.RecordData))
 	}
 
 	return lengthInBits
@@ -134,36 +134,36 @@ func ModbusPDUWriteFileRecordResponseItemParse(io *spi.ReadBuffer) (spi.Message,
 func (m ModbusPDUWriteFileRecordResponseItem) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (referenceType)
-	referenceType := uint8(m.referenceType)
+	referenceType := uint8(m.ReferenceType)
 	_referenceTypeErr := io.WriteUint8(8, (referenceType))
 	if _referenceTypeErr != nil {
 		return errors.New("Error serializing 'referenceType' field " + _referenceTypeErr.Error())
 	}
 
 	// Simple Field (fileNumber)
-	fileNumber := uint16(m.fileNumber)
+	fileNumber := uint16(m.FileNumber)
 	_fileNumberErr := io.WriteUint16(16, (fileNumber))
 	if _fileNumberErr != nil {
 		return errors.New("Error serializing 'fileNumber' field " + _fileNumberErr.Error())
 	}
 
 	// Simple Field (recordNumber)
-	recordNumber := uint16(m.recordNumber)
+	recordNumber := uint16(m.RecordNumber)
 	_recordNumberErr := io.WriteUint16(16, (recordNumber))
 	if _recordNumberErr != nil {
 		return errors.New("Error serializing 'recordNumber' field " + _recordNumberErr.Error())
 	}
 
 	// Implicit Field (recordLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	recordLength := uint16(uint16(uint16(len(m.recordData))) / uint16(uint16(2)))
+	recordLength := uint16(uint16(uint16(len(m.RecordData))) / uint16(uint16(2)))
 	_recordLengthErr := io.WriteUint16(16, (recordLength))
 	if _recordLengthErr != nil {
 		return errors.New("Error serializing 'recordLength' field " + _recordLengthErr.Error())
 	}
 
 	// Array Field (recordData)
-	if m.recordData != nil {
-		for _, _element := range m.recordData {
+	if m.RecordData != nil {
+		for _, _element := range m.RecordData {
 			_elementErr := io.WriteInt8(8, _element)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'recordData' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
index 97c9c44..9c623e3 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsRequest.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteMultipleCoilsRequest struct {
-	startingAddress uint16
-	quantity        uint16
-	value           []int8
+	StartingAddress uint16
+	Quantity        uint16
+	Value           []int8
 	ModbusPDU
 }
 
@@ -55,7 +55,7 @@ func (m ModbusPDUWriteMultipleCoilsRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUWriteMultipleCoilsRequest(startingAddress uint16, quantity uint16, value []int8) ModbusPDUInitializer {
-	return &ModbusPDUWriteMultipleCoilsRequest{startingAddress: startingAddress, quantity: quantity, value: value}
+	return &ModbusPDUWriteMultipleCoilsRequest{StartingAddress: startingAddress, Quantity: quantity, Value: value}
 }
 
 func CastIModbusPDUWriteMultipleCoilsRequest(structType interface{}) IModbusPDUWriteMultipleCoilsRequest {
@@ -91,8 +91,8 @@ func (m ModbusPDUWriteMultipleCoilsRequest) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.value) > 0 {
-		lengthInBits += 8 * uint16(len(m.value))
+	if len(m.Value) > 0 {
+		lengthInBits += 8 * uint16(len(m.Value))
 	}
 
 	return lengthInBits
@@ -142,29 +142,29 @@ func (m ModbusPDUWriteMultipleCoilsRequest) Serialize(io spi.WriteBuffer) error
 	ser := func() error {
 
 		// Simple Field (startingAddress)
-		startingAddress := uint16(m.startingAddress)
+		startingAddress := uint16(m.StartingAddress)
 		_startingAddressErr := io.WriteUint16(16, (startingAddress))
 		if _startingAddressErr != nil {
 			return errors.New("Error serializing 'startingAddress' field " + _startingAddressErr.Error())
 		}
 
 		// Simple Field (quantity)
-		quantity := uint16(m.quantity)
+		quantity := uint16(m.Quantity)
 		_quantityErr := io.WriteUint16(16, (quantity))
 		if _quantityErr != nil {
 			return errors.New("Error serializing 'quantity' field " + _quantityErr.Error())
 		}
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(len(m.value)))
+		byteCount := uint8(uint8(len(m.Value)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (value)
-		if m.value != nil {
-			for _, _element := range m.value {
+		if m.Value != nil {
+			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'value' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsResponse.go
index bcd0195..2acfae9 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleCoilsResponse.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteMultipleCoilsResponse struct {
-	startingAddress uint16
-	quantity        uint16
+	StartingAddress uint16
+	Quantity        uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUWriteMultipleCoilsResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUWriteMultipleCoilsResponse(startingAddress uint16, quantity uint16) ModbusPDUInitializer {
-	return &ModbusPDUWriteMultipleCoilsResponse{startingAddress: startingAddress, quantity: quantity}
+	return &ModbusPDUWriteMultipleCoilsResponse{StartingAddress: startingAddress, Quantity: quantity}
 }
 
 func CastIModbusPDUWriteMultipleCoilsResponse(structType interface{}) IModbusPDUWriteMultipleCoilsResponse {
@@ -115,14 +115,14 @@ func (m ModbusPDUWriteMultipleCoilsResponse) Serialize(io spi.WriteBuffer) error
 	ser := func() error {
 
 		// Simple Field (startingAddress)
-		startingAddress := uint16(m.startingAddress)
+		startingAddress := uint16(m.StartingAddress)
 		_startingAddressErr := io.WriteUint16(16, (startingAddress))
 		if _startingAddressErr != nil {
 			return errors.New("Error serializing 'startingAddress' field " + _startingAddressErr.Error())
 		}
 
 		// Simple Field (quantity)
-		quantity := uint16(m.quantity)
+		quantity := uint16(m.Quantity)
 		_quantityErr := io.WriteUint16(16, (quantity))
 		if _quantityErr != nil {
 			return errors.New("Error serializing 'quantity' field " + _quantityErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
index e0d452a..112462e 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersRequest.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteMultipleHoldingRegistersRequest struct {
-	startingAddress uint16
-	quantity        uint16
-	value           []int8
+	StartingAddress uint16
+	Quantity        uint16
+	Value           []int8
 	ModbusPDU
 }
 
@@ -55,7 +55,7 @@ func (m ModbusPDUWriteMultipleHoldingRegistersRequest) initialize() spi.Message
 }
 
 func NewModbusPDUWriteMultipleHoldingRegistersRequest(startingAddress uint16, quantity uint16, value []int8) ModbusPDUInitializer {
-	return &ModbusPDUWriteMultipleHoldingRegistersRequest{startingAddress: startingAddress, quantity: quantity, value: value}
+	return &ModbusPDUWriteMultipleHoldingRegistersRequest{StartingAddress: startingAddress, Quantity: quantity, Value: value}
 }
 
 func CastIModbusPDUWriteMultipleHoldingRegistersRequest(structType interface{}) IModbusPDUWriteMultipleHoldingRegistersRequest {
@@ -91,8 +91,8 @@ func (m ModbusPDUWriteMultipleHoldingRegistersRequest) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.value) > 0 {
-		lengthInBits += 8 * uint16(len(m.value))
+	if len(m.Value) > 0 {
+		lengthInBits += 8 * uint16(len(m.Value))
 	}
 
 	return lengthInBits
@@ -142,29 +142,29 @@ func (m ModbusPDUWriteMultipleHoldingRegistersRequest) Serialize(io spi.WriteBuf
 	ser := func() error {
 
 		// Simple Field (startingAddress)
-		startingAddress := uint16(m.startingAddress)
+		startingAddress := uint16(m.StartingAddress)
 		_startingAddressErr := io.WriteUint16(16, (startingAddress))
 		if _startingAddressErr != nil {
 			return errors.New("Error serializing 'startingAddress' field " + _startingAddressErr.Error())
 		}
 
 		// Simple Field (quantity)
-		quantity := uint16(m.quantity)
+		quantity := uint16(m.Quantity)
 		_quantityErr := io.WriteUint16(16, (quantity))
 		if _quantityErr != nil {
 			return errors.New("Error serializing 'quantity' field " + _quantityErr.Error())
 		}
 
 		// Implicit Field (byteCount) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		byteCount := uint8(uint8(len(m.value)))
+		byteCount := uint8(uint8(len(m.Value)))
 		_byteCountErr := io.WriteUint8(8, (byteCount))
 		if _byteCountErr != nil {
 			return errors.New("Error serializing 'byteCount' field " + _byteCountErr.Error())
 		}
 
 		// Array Field (value)
-		if m.value != nil {
-			for _, _element := range m.value {
+		if m.Value != nil {
+			for _, _element := range m.Value {
 				_elementErr := io.WriteInt8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'value' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersResponse.go
index bf83ece..673e24d 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteMultipleHoldingRegistersResponse.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteMultipleHoldingRegistersResponse struct {
-	startingAddress uint16
-	quantity        uint16
+	StartingAddress uint16
+	Quantity        uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUWriteMultipleHoldingRegistersResponse) initialize() spi.Message
 }
 
 func NewModbusPDUWriteMultipleHoldingRegistersResponse(startingAddress uint16, quantity uint16) ModbusPDUInitializer {
-	return &ModbusPDUWriteMultipleHoldingRegistersResponse{startingAddress: startingAddress, quantity: quantity}
+	return &ModbusPDUWriteMultipleHoldingRegistersResponse{StartingAddress: startingAddress, Quantity: quantity}
 }
 
 func CastIModbusPDUWriteMultipleHoldingRegistersResponse(structType interface{}) IModbusPDUWriteMultipleHoldingRegistersResponse {
@@ -115,14 +115,14 @@ func (m ModbusPDUWriteMultipleHoldingRegistersResponse) Serialize(io spi.WriteBu
 	ser := func() error {
 
 		// Simple Field (startingAddress)
-		startingAddress := uint16(m.startingAddress)
+		startingAddress := uint16(m.StartingAddress)
 		_startingAddressErr := io.WriteUint16(16, (startingAddress))
 		if _startingAddressErr != nil {
 			return errors.New("Error serializing 'startingAddress' field " + _startingAddressErr.Error())
 		}
 
 		// Simple Field (quantity)
-		quantity := uint16(m.quantity)
+		quantity := uint16(m.Quantity)
 		_quantityErr := io.WriteUint16(16, (quantity))
 		if _quantityErr != nil {
 			return errors.New("Error serializing 'quantity' field " + _quantityErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilRequest.go
index 0dc7650..8f48415 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilRequest.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteSingleCoilRequest struct {
-	address uint16
-	value   uint16
+	Address uint16
+	Value   uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUWriteSingleCoilRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUWriteSingleCoilRequest(address uint16, value uint16) ModbusPDUInitializer {
-	return &ModbusPDUWriteSingleCoilRequest{address: address, value: value}
+	return &ModbusPDUWriteSingleCoilRequest{Address: address, Value: value}
 }
 
 func CastIModbusPDUWriteSingleCoilRequest(structType interface{}) IModbusPDUWriteSingleCoilRequest {
@@ -115,14 +115,14 @@ func (m ModbusPDUWriteSingleCoilRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (address)
-		address := uint16(m.address)
+		address := uint16(m.Address)
 		_addressErr := io.WriteUint16(16, (address))
 		if _addressErr != nil {
 			return errors.New("Error serializing 'address' field " + _addressErr.Error())
 		}
 
 		// Simple Field (value)
-		value := uint16(m.value)
+		value := uint16(m.Value)
 		_valueErr := io.WriteUint16(16, (value))
 		if _valueErr != nil {
 			return errors.New("Error serializing 'value' field " + _valueErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilResponse.go
index 84ce948..e7a06d1 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleCoilResponse.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteSingleCoilResponse struct {
-	address uint16
-	value   uint16
+	Address uint16
+	Value   uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUWriteSingleCoilResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUWriteSingleCoilResponse(address uint16, value uint16) ModbusPDUInitializer {
-	return &ModbusPDUWriteSingleCoilResponse{address: address, value: value}
+	return &ModbusPDUWriteSingleCoilResponse{Address: address, Value: value}
 }
 
 func CastIModbusPDUWriteSingleCoilResponse(structType interface{}) IModbusPDUWriteSingleCoilResponse {
@@ -115,14 +115,14 @@ func (m ModbusPDUWriteSingleCoilResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (address)
-		address := uint16(m.address)
+		address := uint16(m.Address)
 		_addressErr := io.WriteUint16(16, (address))
 		if _addressErr != nil {
 			return errors.New("Error serializing 'address' field " + _addressErr.Error())
 		}
 
 		// Simple Field (value)
-		value := uint16(m.value)
+		value := uint16(m.Value)
 		_valueErr := io.WriteUint16(16, (value))
 		if _valueErr != nil {
 			return errors.New("Error serializing 'value' field " + _valueErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterRequest.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterRequest.go
index c49ba3e..c4cfb59 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterRequest.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterRequest.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteSingleRegisterRequest struct {
-	address uint16
-	value   uint16
+	Address uint16
+	Value   uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUWriteSingleRegisterRequest) initialize() spi.Message {
 }
 
 func NewModbusPDUWriteSingleRegisterRequest(address uint16, value uint16) ModbusPDUInitializer {
-	return &ModbusPDUWriteSingleRegisterRequest{address: address, value: value}
+	return &ModbusPDUWriteSingleRegisterRequest{Address: address, Value: value}
 }
 
 func CastIModbusPDUWriteSingleRegisterRequest(structType interface{}) IModbusPDUWriteSingleRegisterRequest {
@@ -115,14 +115,14 @@ func (m ModbusPDUWriteSingleRegisterRequest) Serialize(io spi.WriteBuffer) error
 	ser := func() error {
 
 		// Simple Field (address)
-		address := uint16(m.address)
+		address := uint16(m.Address)
 		_addressErr := io.WriteUint16(16, (address))
 		if _addressErr != nil {
 			return errors.New("Error serializing 'address' field " + _addressErr.Error())
 		}
 
 		// Simple Field (value)
-		value := uint16(m.value)
+		value := uint16(m.Value)
 		_valueErr := io.WriteUint16(16, (value))
 		if _valueErr != nil {
 			return errors.New("Error serializing 'value' field " + _valueErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterResponse.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterResponse.go
index 145e003..3571d67 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterResponse.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusPDUWriteSingleRegisterResponse.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type ModbusPDUWriteSingleRegisterResponse struct {
-	address uint16
-	value   uint16
+	Address uint16
+	Value   uint16
 	ModbusPDU
 }
 
@@ -54,7 +54,7 @@ func (m ModbusPDUWriteSingleRegisterResponse) initialize() spi.Message {
 }
 
 func NewModbusPDUWriteSingleRegisterResponse(address uint16, value uint16) ModbusPDUInitializer {
-	return &ModbusPDUWriteSingleRegisterResponse{address: address, value: value}
+	return &ModbusPDUWriteSingleRegisterResponse{Address: address, Value: value}
 }
 
 func CastIModbusPDUWriteSingleRegisterResponse(structType interface{}) IModbusPDUWriteSingleRegisterResponse {
@@ -115,14 +115,14 @@ func (m ModbusPDUWriteSingleRegisterResponse) Serialize(io spi.WriteBuffer) erro
 	ser := func() error {
 
 		// Simple Field (address)
-		address := uint16(m.address)
+		address := uint16(m.Address)
 		_addressErr := io.WriteUint16(16, (address))
 		if _addressErr != nil {
 			return errors.New("Error serializing 'address' field " + _addressErr.Error())
 		}
 
 		// Simple Field (value)
-		value := uint16(m.value)
+		value := uint16(m.Value)
 		_valueErr := io.WriteUint16(16, (value))
 		if _valueErr != nil {
 			return errors.New("Error serializing 'value' field " + _valueErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusSerialADU.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusSerialADU.go
index 5633a90..1854a6c 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusSerialADU.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusSerialADU.go
@@ -27,10 +27,10 @@ import (
 
 // The data-structure of this message
 type ModbusSerialADU struct {
-	transactionId uint16
-	length        uint16
-	address       uint8
-	pdu           IModbusPDU
+	TransactionId uint16
+	Length        uint16
+	Address       uint8
+	Pdu           IModbusPDU
 }
 
 // The corresponding interface
@@ -40,7 +40,7 @@ type IModbusSerialADU interface {
 }
 
 func NewModbusSerialADU(transactionId uint16, length uint16, address uint8, pdu IModbusPDU) spi.Message {
-	return &ModbusSerialADU{transactionId: transactionId, length: length, address: address, pdu: pdu}
+	return &ModbusSerialADU{TransactionId: transactionId, Length: length, Address: address, Pdu: pdu}
 }
 
 func CastIModbusSerialADU(structType interface{}) IModbusSerialADU {
@@ -79,7 +79,7 @@ func (m ModbusSerialADU) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (pdu)
-	lengthInBits += m.pdu.LengthInBits()
+	lengthInBits += m.Pdu.LengthInBits()
 
 	return lengthInBits
 }
@@ -140,7 +140,7 @@ func ModbusSerialADUParse(io *spi.ReadBuffer, response bool) (spi.Message, error
 func (m ModbusSerialADU) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (transactionId)
-	transactionId := uint16(m.transactionId)
+	transactionId := uint16(m.TransactionId)
 	_transactionIdErr := io.WriteUint16(16, (transactionId))
 	if _transactionIdErr != nil {
 		return errors.New("Error serializing 'transactionId' field " + _transactionIdErr.Error())
@@ -155,21 +155,21 @@ func (m ModbusSerialADU) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Simple Field (length)
-	length := uint16(m.length)
+	length := uint16(m.Length)
 	_lengthErr := io.WriteUint16(16, (length))
 	if _lengthErr != nil {
 		return errors.New("Error serializing 'length' field " + _lengthErr.Error())
 	}
 
 	// Simple Field (address)
-	address := uint8(m.address)
+	address := uint8(m.Address)
 	_addressErr := io.WriteUint8(8, (address))
 	if _addressErr != nil {
 		return errors.New("Error serializing 'address' field " + _addressErr.Error())
 	}
 
 	// Simple Field (pdu)
-	pdu := CastIModbusPDU(m.pdu)
+	pdu := CastIModbusPDU(m.Pdu)
 	_pduErr := pdu.Serialize(io)
 	if _pduErr != nil {
 		return errors.New("Error serializing 'pdu' field " + _pduErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusTcpADU.go b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusTcpADU.go
index a85d219..938e0c5 100644
--- a/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusTcpADU.go
+++ b/sandbox/plc4go/internal/plc4go/modbus/readwrite/model/ModbusTcpADU.go
@@ -30,9 +30,9 @@ const ModbusTcpADU_PROTOCOLIDENTIFIER uint16 = 0x0000
 
 // The data-structure of this message
 type ModbusTcpADU struct {
-	transactionIdentifier uint16
-	unitIdentifier        uint8
-	pdu                   IModbusPDU
+	TransactionIdentifier uint16
+	UnitIdentifier        uint8
+	Pdu                   IModbusPDU
 }
 
 // The corresponding interface
@@ -42,7 +42,7 @@ type IModbusTcpADU interface {
 }
 
 func NewModbusTcpADU(transactionIdentifier uint16, unitIdentifier uint8, pdu IModbusPDU) spi.Message {
-	return &ModbusTcpADU{transactionIdentifier: transactionIdentifier, unitIdentifier: unitIdentifier, pdu: pdu}
+	return &ModbusTcpADU{TransactionIdentifier: transactionIdentifier, UnitIdentifier: unitIdentifier, Pdu: pdu}
 }
 
 func CastIModbusTcpADU(structType interface{}) IModbusTcpADU {
@@ -81,7 +81,7 @@ func (m ModbusTcpADU) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Simple field (pdu)
-	lengthInBits += m.pdu.LengthInBits()
+	lengthInBits += m.Pdu.LengthInBits()
 
 	return lengthInBits
 }
@@ -137,7 +137,7 @@ func ModbusTcpADUParse(io *spi.ReadBuffer, response bool) (spi.Message, error) {
 func (m ModbusTcpADU) Serialize(io spi.WriteBuffer) error {
 
 	// Simple Field (transactionIdentifier)
-	transactionIdentifier := uint16(m.transactionIdentifier)
+	transactionIdentifier := uint16(m.TransactionIdentifier)
 	_transactionIdentifierErr := io.WriteUint16(16, (transactionIdentifier))
 	if _transactionIdentifierErr != nil {
 		return errors.New("Error serializing 'transactionIdentifier' field " + _transactionIdentifierErr.Error())
@@ -150,21 +150,21 @@ func (m ModbusTcpADU) Serialize(io spi.WriteBuffer) error {
 	}
 
 	// Implicit Field (length) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	length := uint16(uint16(m.pdu.LengthInBytes()) + uint16(uint16(1)))
+	length := uint16(uint16(m.Pdu.LengthInBytes()) + uint16(uint16(1)))
 	_lengthErr := io.WriteUint16(16, (length))
 	if _lengthErr != nil {
 		return errors.New("Error serializing 'length' field " + _lengthErr.Error())
 	}
 
 	// Simple Field (unitIdentifier)
-	unitIdentifier := uint8(m.unitIdentifier)
+	unitIdentifier := uint8(m.UnitIdentifier)
 	_unitIdentifierErr := io.WriteUint8(8, (unitIdentifier))
 	if _unitIdentifierErr != nil {
 		return errors.New("Error serializing 'unitIdentifier' field " + _unitIdentifierErr.Error())
 	}
 
 	// Simple Field (pdu)
-	pdu := CastIModbusPDU(m.pdu)
+	pdu := CastIModbusPDU(m.Pdu)
 	_pduErr := pdu.Serialize(io)
 	if _pduErr != nil {
 		return errors.New("Error serializing 'pdu' field " + _pduErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
index eb6f5dc..fc4169b 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacket.go
@@ -26,8 +26,8 @@ import (
 
 // The data-structure of this message
 type COTPPacket struct {
-	parameters []ICOTPParameter
-	payload    *IS7Message
+	Parameters []ICOTPParameter
+	Payload    *IS7Message
 }
 
 // The corresponding interface
@@ -77,15 +77,15 @@ func (m COTPPacket) LengthInBits() uint16 {
 	// Length of sub-type elements will be added by sub-type...
 
 	// Array field
-	if len(m.parameters) > 0 {
-		for _, element := range m.parameters {
+	if len(m.Parameters) > 0 {
+		for _, element := range m.Parameters {
 			lengthInBits += element.LengthInBits()
 		}
 	}
 
 	// Optional Field (payload)
-	if m.payload != nil {
-		lengthInBits += (*m.payload).LengthInBits()
+	if m.Payload != nil {
+		lengthInBits += (*m.Payload).LengthInBits()
 	}
 
 	return lengthInBits
@@ -175,7 +175,7 @@ func COTPPacketParse(io *spi.ReadBuffer, cotpLen uint16) (spi.Message, error) {
 func COTPPacketSerialize(io spi.WriteBuffer, m COTPPacket, i ICOTPPacket, childSerialize func() error) error {
 
 	// Implicit Field (headerLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	headerLength := uint8(uint8(uint8(m.LengthInBytes())) - uint8(uint8(uint8(uint8(spi.InlineIf(bool(bool((m.payload) != (nil))), uint16((*m.payload).LengthInBytes()), uint16(uint8(0)))))+uint8(uint8(1)))))
+	headerLength := uint8(uint8(uint8(m.LengthInBytes())) - uint8(uint8(uint8(uint8(spi.InlineIf(bool(bool((m.Payload) != (nil))), uint16((*m.Payload).LengthInBytes()), uint16(uint8(0)))))+uint8(uint8(1)))))
 	_headerLengthErr := io.WriteUint8(8, (headerLength))
 	if _headerLengthErr != nil {
 		return errors.New("Error serializing 'headerLength' field " + _headerLengthErr.Error())
@@ -195,8 +195,8 @@ func COTPPacketSerialize(io spi.WriteBuffer, m COTPPacket, i ICOTPPacket, childS
 	}
 
 	// Array Field (parameters)
-	if m.parameters != nil {
-		for _, _element := range m.parameters {
+	if m.Parameters != nil {
+		for _, _element := range m.Parameters {
 			_elementErr := _element.Serialize(io)
 			if _elementErr != nil {
 				return errors.New("Error serializing 'parameters' field " + _elementErr.Error())
@@ -206,8 +206,8 @@ func COTPPacketSerialize(io spi.WriteBuffer, m COTPPacket, i ICOTPPacket, childS
 
 	// Optional Field (payload) (Can be skipped, if the value is null)
 	var payload *IS7Message = nil
-	if m.payload != nil {
-		payload = m.payload
+	if m.Payload != nil {
+		payload = m.Payload
 		_payloadErr := CastIS7Message(*payload).Serialize(io)
 		if _payloadErr != nil {
 			return errors.New("Error serializing 'payload' field " + _payloadErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionRequest.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionRequest.go
index 67218a1..4d6722e 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionRequest.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionRequest.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type COTPPacketConnectionRequest struct {
-	destinationReference uint16
-	sourceReference      uint16
-	protocolClass        ICOTPProtocolClass
+	DestinationReference uint16
+	SourceReference      uint16
+	ProtocolClass        ICOTPProtocolClass
 	COTPPacket
 }
 
@@ -43,13 +43,13 @@ func (m COTPPacketConnectionRequest) TpduCode() uint8 {
 }
 
 func (m COTPPacketConnectionRequest) initialize(parameters []ICOTPParameter, payload *IS7Message) spi.Message {
-	m.parameters = parameters
-	m.payload = payload
+	m.Parameters = parameters
+	m.Payload = payload
 	return m
 }
 
 func NewCOTPPacketConnectionRequest(destinationReference uint16, sourceReference uint16, protocolClass ICOTPProtocolClass) COTPPacketInitializer {
-	return &COTPPacketConnectionRequest{destinationReference: destinationReference, sourceReference: sourceReference, protocolClass: protocolClass}
+	return &COTPPacketConnectionRequest{DestinationReference: destinationReference, SourceReference: sourceReference, ProtocolClass: protocolClass}
 }
 
 func CastICOTPPacketConnectionRequest(structType interface{}) ICOTPPacketConnectionRequest {
@@ -119,21 +119,21 @@ func (m COTPPacketConnectionRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (destinationReference)
-		destinationReference := uint16(m.destinationReference)
+		destinationReference := uint16(m.DestinationReference)
 		_destinationReferenceErr := io.WriteUint16(16, (destinationReference))
 		if _destinationReferenceErr != nil {
 			return errors.New("Error serializing 'destinationReference' field " + _destinationReferenceErr.Error())
 		}
 
 		// Simple Field (sourceReference)
-		sourceReference := uint16(m.sourceReference)
+		sourceReference := uint16(m.SourceReference)
 		_sourceReferenceErr := io.WriteUint16(16, (sourceReference))
 		if _sourceReferenceErr != nil {
 			return errors.New("Error serializing 'sourceReference' field " + _sourceReferenceErr.Error())
 		}
 
 		// Enum field (protocolClass)
-		protocolClass := CastCOTPProtocolClass(m.protocolClass)
+		protocolClass := CastCOTPProtocolClass(m.ProtocolClass)
 		_protocolClassErr := protocolClass.Serialize(io)
 		if _protocolClassErr != nil {
 			return errors.New("Error serializing 'protocolClass' field " + _protocolClassErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionResponse.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionResponse.go
index 054cbd9..2ba264b 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionResponse.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketConnectionResponse.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type COTPPacketConnectionResponse struct {
-	destinationReference uint16
-	sourceReference      uint16
-	protocolClass        ICOTPProtocolClass
+	DestinationReference uint16
+	SourceReference      uint16
+	ProtocolClass        ICOTPProtocolClass
 	COTPPacket
 }
 
@@ -43,13 +43,13 @@ func (m COTPPacketConnectionResponse) TpduCode() uint8 {
 }
 
 func (m COTPPacketConnectionResponse) initialize(parameters []ICOTPParameter, payload *IS7Message) spi.Message {
-	m.parameters = parameters
-	m.payload = payload
+	m.Parameters = parameters
+	m.Payload = payload
 	return m
 }
 
 func NewCOTPPacketConnectionResponse(destinationReference uint16, sourceReference uint16, protocolClass ICOTPProtocolClass) COTPPacketInitializer {
-	return &COTPPacketConnectionResponse{destinationReference: destinationReference, sourceReference: sourceReference, protocolClass: protocolClass}
+	return &COTPPacketConnectionResponse{DestinationReference: destinationReference, SourceReference: sourceReference, ProtocolClass: protocolClass}
 }
 
 func CastICOTPPacketConnectionResponse(structType interface{}) ICOTPPacketConnectionResponse {
@@ -119,21 +119,21 @@ func (m COTPPacketConnectionResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (destinationReference)
-		destinationReference := uint16(m.destinationReference)
+		destinationReference := uint16(m.DestinationReference)
 		_destinationReferenceErr := io.WriteUint16(16, (destinationReference))
 		if _destinationReferenceErr != nil {
 			return errors.New("Error serializing 'destinationReference' field " + _destinationReferenceErr.Error())
 		}
 
 		// Simple Field (sourceReference)
-		sourceReference := uint16(m.sourceReference)
+		sourceReference := uint16(m.SourceReference)
 		_sourceReferenceErr := io.WriteUint16(16, (sourceReference))
 		if _sourceReferenceErr != nil {
 			return errors.New("Error serializing 'sourceReference' field " + _sourceReferenceErr.Error())
 		}
 
 		// Enum field (protocolClass)
-		protocolClass := CastCOTPProtocolClass(m.protocolClass)
+		protocolClass := CastCOTPProtocolClass(m.ProtocolClass)
 		_protocolClassErr := protocolClass.Serialize(io)
 		if _protocolClassErr != nil {
 			return errors.New("Error serializing 'protocolClass' field " + _protocolClassErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketData.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketData.go
index 5f5c795..b83a622 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketData.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketData.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type COTPPacketData struct {
-	eot     bool
-	tpduRef uint8
+	Eot     bool
+	TpduRef uint8
 	COTPPacket
 }
 
@@ -42,13 +42,13 @@ func (m COTPPacketData) TpduCode() uint8 {
 }
 
 func (m COTPPacketData) initialize(parameters []ICOTPParameter, payload *IS7Message) spi.Message {
-	m.parameters = parameters
-	m.payload = payload
+	m.Parameters = parameters
+	m.Payload = payload
 	return m
 }
 
 func NewCOTPPacketData(eot bool, tpduRef uint8) COTPPacketInitializer {
-	return &COTPPacketData{eot: eot, tpduRef: tpduRef}
+	return &COTPPacketData{Eot: eot, TpduRef: tpduRef}
 }
 
 func CastICOTPPacketData(structType interface{}) ICOTPPacketData {
@@ -109,14 +109,14 @@ func (m COTPPacketData) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (eot)
-		eot := bool(m.eot)
+		eot := bool(m.Eot)
 		_eotErr := io.WriteBit((bool)(eot))
 		if _eotErr != nil {
 			return errors.New("Error serializing 'eot' field " + _eotErr.Error())
 		}
 
 		// Simple Field (tpduRef)
-		tpduRef := uint8(m.tpduRef)
+		tpduRef := uint8(m.TpduRef)
 		_tpduRefErr := io.WriteUint8(7, (tpduRef))
 		if _tpduRefErr != nil {
 			return errors.New("Error serializing 'tpduRef' field " + _tpduRefErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectRequest.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectRequest.go
index 118b133..78c207e 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectRequest.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectRequest.go
@@ -25,9 +25,9 @@ import (
 
 // The data-structure of this message
 type COTPPacketDisconnectRequest struct {
-	destinationReference uint16
-	sourceReference      uint16
-	protocolClass        ICOTPProtocolClass
+	DestinationReference uint16
+	SourceReference      uint16
+	ProtocolClass        ICOTPProtocolClass
 	COTPPacket
 }
 
@@ -43,13 +43,13 @@ func (m COTPPacketDisconnectRequest) TpduCode() uint8 {
 }
 
 func (m COTPPacketDisconnectRequest) initialize(parameters []ICOTPParameter, payload *IS7Message) spi.Message {
-	m.parameters = parameters
-	m.payload = payload
+	m.Parameters = parameters
+	m.Payload = payload
 	return m
 }
 
 func NewCOTPPacketDisconnectRequest(destinationReference uint16, sourceReference uint16, protocolClass ICOTPProtocolClass) COTPPacketInitializer {
-	return &COTPPacketDisconnectRequest{destinationReference: destinationReference, sourceReference: sourceReference, protocolClass: protocolClass}
+	return &COTPPacketDisconnectRequest{DestinationReference: destinationReference, SourceReference: sourceReference, ProtocolClass: protocolClass}
 }
 
 func CastICOTPPacketDisconnectRequest(structType interface{}) ICOTPPacketDisconnectRequest {
@@ -119,21 +119,21 @@ func (m COTPPacketDisconnectRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (destinationReference)
-		destinationReference := uint16(m.destinationReference)
+		destinationReference := uint16(m.DestinationReference)
 		_destinationReferenceErr := io.WriteUint16(16, (destinationReference))
 		if _destinationReferenceErr != nil {
 			return errors.New("Error serializing 'destinationReference' field " + _destinationReferenceErr.Error())
 		}
 
 		// Simple Field (sourceReference)
-		sourceReference := uint16(m.sourceReference)
+		sourceReference := uint16(m.SourceReference)
 		_sourceReferenceErr := io.WriteUint16(16, (sourceReference))
 		if _sourceReferenceErr != nil {
 			return errors.New("Error serializing 'sourceReference' field " + _sourceReferenceErr.Error())
 		}
 
 		// Enum field (protocolClass)
-		protocolClass := CastCOTPProtocolClass(m.protocolClass)
+		protocolClass := CastCOTPProtocolClass(m.ProtocolClass)
 		_protocolClassErr := protocolClass.Serialize(io)
 		if _protocolClassErr != nil {
 			return errors.New("Error serializing 'protocolClass' field " + _protocolClassErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectResponse.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectResponse.go
index 7abaa12..f839311 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectResponse.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketDisconnectResponse.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type COTPPacketDisconnectResponse struct {
-	destinationReference uint16
-	sourceReference      uint16
+	DestinationReference uint16
+	SourceReference      uint16
 	COTPPacket
 }
 
@@ -42,13 +42,13 @@ func (m COTPPacketDisconnectResponse) TpduCode() uint8 {
 }
 
 func (m COTPPacketDisconnectResponse) initialize(parameters []ICOTPParameter, payload *IS7Message) spi.Message {
-	m.parameters = parameters
-	m.payload = payload
+	m.Parameters = parameters
+	m.Payload = payload
 	return m
 }
 
 func NewCOTPPacketDisconnectResponse(destinationReference uint16, sourceReference uint16) COTPPacketInitializer {
-	return &COTPPacketDisconnectResponse{destinationReference: destinationReference, sourceReference: sourceReference}
+	return &COTPPacketDisconnectResponse{DestinationReference: destinationReference, SourceReference: sourceReference}
 }
 
 func CastICOTPPacketDisconnectResponse(structType interface{}) ICOTPPacketDisconnectResponse {
@@ -109,14 +109,14 @@ func (m COTPPacketDisconnectResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (destinationReference)
-		destinationReference := uint16(m.destinationReference)
+		destinationReference := uint16(m.DestinationReference)
 		_destinationReferenceErr := io.WriteUint16(16, (destinationReference))
 		if _destinationReferenceErr != nil {
 			return errors.New("Error serializing 'destinationReference' field " + _destinationReferenceErr.Error())
 		}
 
 		// Simple Field (sourceReference)
-		sourceReference := uint16(m.sourceReference)
+		sourceReference := uint16(m.SourceReference)
 		_sourceReferenceErr := io.WriteUint16(16, (sourceReference))
 		if _sourceReferenceErr != nil {
 			return errors.New("Error serializing 'sourceReference' field " + _sourceReferenceErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketTpduError.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketTpduError.go
index 5ef0fd6..bef60fb 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketTpduError.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPPacketTpduError.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type COTPPacketTpduError struct {
-	destinationReference uint16
-	rejectCause          uint8
+	DestinationReference uint16
+	RejectCause          uint8
 	COTPPacket
 }
 
@@ -42,13 +42,13 @@ func (m COTPPacketTpduError) TpduCode() uint8 {
 }
 
 func (m COTPPacketTpduError) initialize(parameters []ICOTPParameter, payload *IS7Message) spi.Message {
-	m.parameters = parameters
-	m.payload = payload
+	m.Parameters = parameters
+	m.Payload = payload
 	return m
 }
 
 func NewCOTPPacketTpduError(destinationReference uint16, rejectCause uint8) COTPPacketInitializer {
-	return &COTPPacketTpduError{destinationReference: destinationReference, rejectCause: rejectCause}
+	return &COTPPacketTpduError{DestinationReference: destinationReference, RejectCause: rejectCause}
 }
 
 func CastICOTPPacketTpduError(structType interface{}) ICOTPPacketTpduError {
@@ -109,14 +109,14 @@ func (m COTPPacketTpduError) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (destinationReference)
-		destinationReference := uint16(m.destinationReference)
+		destinationReference := uint16(m.DestinationReference)
 		_destinationReferenceErr := io.WriteUint16(16, (destinationReference))
 		if _destinationReferenceErr != nil {
 			return errors.New("Error serializing 'destinationReference' field " + _destinationReferenceErr.Error())
 		}
 
 		// Simple Field (rejectCause)
-		rejectCause := uint8(m.rejectCause)
+		rejectCause := uint8(m.RejectCause)
 		_rejectCauseErr := io.WriteUint8(8, (rejectCause))
 		if _rejectCauseErr != nil {
 			return errors.New("Error serializing 'rejectCause' field " + _rejectCauseErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCalledTsap.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCalledTsap.go
index 195a361..f4e299a 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCalledTsap.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCalledTsap.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type COTPParameterCalledTsap struct {
-	tsapId uint16
+	TsapId uint16
 	COTPParameter
 }
 
@@ -45,7 +45,7 @@ func (m COTPParameterCalledTsap) initialize() spi.Message {
 }
 
 func NewCOTPParameterCalledTsap(tsapId uint16) COTPParameterInitializer {
-	return &COTPParameterCalledTsap{tsapId: tsapId}
+	return &COTPParameterCalledTsap{TsapId: tsapId}
 }
 
 func CastICOTPParameterCalledTsap(structType interface{}) ICOTPParameterCalledTsap {
@@ -97,7 +97,7 @@ func (m COTPParameterCalledTsap) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (tsapId)
-		tsapId := uint16(m.tsapId)
+		tsapId := uint16(m.TsapId)
 		_tsapIdErr := io.WriteUint16(16, (tsapId))
 		if _tsapIdErr != nil {
 			return errors.New("Error serializing 'tsapId' field " + _tsapIdErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCallingTsap.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCallingTsap.go
index 42b1ec0..ad2a6d6 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCallingTsap.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterCallingTsap.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type COTPParameterCallingTsap struct {
-	tsapId uint16
+	TsapId uint16
 	COTPParameter
 }
 
@@ -45,7 +45,7 @@ func (m COTPParameterCallingTsap) initialize() spi.Message {
 }
 
 func NewCOTPParameterCallingTsap(tsapId uint16) COTPParameterInitializer {
-	return &COTPParameterCallingTsap{tsapId: tsapId}
+	return &COTPParameterCallingTsap{TsapId: tsapId}
 }
 
 func CastICOTPParameterCallingTsap(structType interface{}) ICOTPParameterCallingTsap {
@@ -97,7 +97,7 @@ func (m COTPParameterCallingTsap) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (tsapId)
-		tsapId := uint16(m.tsapId)
+		tsapId := uint16(m.TsapId)
 		_tsapIdErr := io.WriteUint16(16, (tsapId))
 		if _tsapIdErr != nil {
 			return errors.New("Error serializing 'tsapId' field " + _tsapIdErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterChecksum.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterChecksum.go
index 7d4edb5..37fdec7 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterChecksum.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterChecksum.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type COTPParameterChecksum struct {
-	crc uint8
+	Crc uint8
 	COTPParameter
 }
 
@@ -45,7 +45,7 @@ func (m COTPParameterChecksum) initialize() spi.Message {
 }
 
 func NewCOTPParameterChecksum(crc uint8) COTPParameterInitializer {
-	return &COTPParameterChecksum{crc: crc}
+	return &COTPParameterChecksum{Crc: crc}
 }
 
 func CastICOTPParameterChecksum(structType interface{}) ICOTPParameterChecksum {
@@ -97,7 +97,7 @@ func (m COTPParameterChecksum) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (crc)
-		crc := uint8(m.crc)
+		crc := uint8(m.Crc)
 		_crcErr := io.WriteUint8(8, (crc))
 		if _crcErr != nil {
 			return errors.New("Error serializing 'crc' field " + _crcErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
index 39bb4b7..39dc4f7 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterDisconnectAdditionalInformation.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type COTPParameterDisconnectAdditionalInformation struct {
-	data []uint8
+	Data []uint8
 	COTPParameter
 }
 
@@ -45,7 +45,7 @@ func (m COTPParameterDisconnectAdditionalInformation) initialize() spi.Message {
 }
 
 func NewCOTPParameterDisconnectAdditionalInformation(data []uint8) COTPParameterInitializer {
-	return &COTPParameterDisconnectAdditionalInformation{data: data}
+	return &COTPParameterDisconnectAdditionalInformation{Data: data}
 }
 
 func CastICOTPParameterDisconnectAdditionalInformation(structType interface{}) ICOTPParameterDisconnectAdditionalInformation {
@@ -72,8 +72,8 @@ func (m COTPParameterDisconnectAdditionalInformation) LengthInBits() uint16 {
 	var lengthInBits uint16 = m.COTPParameter.LengthInBits()
 
 	// Array field
-	if len(m.data) > 0 {
-		lengthInBits += 8 * uint16(len(m.data))
+	if len(m.Data) > 0 {
+		lengthInBits += 8 * uint16(len(m.Data))
 	}
 
 	return lengthInBits
@@ -105,8 +105,8 @@ func (m COTPParameterDisconnectAdditionalInformation) Serialize(io spi.WriteBuff
 	ser := func() error {
 
 		// Array Field (data)
-		if m.data != nil {
-			for _, _element := range m.data {
+		if m.Data != nil {
+			for _, _element := range m.Data {
 				_elementErr := io.WriteUint8(8, _element)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'data' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterTpduSize.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterTpduSize.go
index ae46391..3d3c817 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterTpduSize.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/COTPParameterTpduSize.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type COTPParameterTpduSize struct {
-	tpduSize ICOTPTpduSize
+	TpduSize ICOTPTpduSize
 	COTPParameter
 }
 
@@ -45,7 +45,7 @@ func (m COTPParameterTpduSize) initialize() spi.Message {
 }
 
 func NewCOTPParameterTpduSize(tpduSize ICOTPTpduSize) COTPParameterInitializer {
-	return &COTPParameterTpduSize{tpduSize: tpduSize}
+	return &COTPParameterTpduSize{TpduSize: tpduSize}
 }
 
 func CastICOTPParameterTpduSize(structType interface{}) ICOTPParameterTpduSize {
@@ -97,7 +97,7 @@ func (m COTPParameterTpduSize) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Enum field (tpduSize)
-		tpduSize := CastCOTPTpduSize(m.tpduSize)
+		tpduSize := CastCOTPTpduSize(m.TpduSize)
 		_tpduSizeErr := tpduSize.Serialize(io)
 		if _tpduSizeErr != nil {
 			return errors.New("Error serializing 'tpduSize' field " + _tpduSizeErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7AddressAny.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7AddressAny.go
index 40195b8..0ad9e5e 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7AddressAny.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7AddressAny.go
@@ -26,12 +26,12 @@ import (
 
 // The data-structure of this message
 type S7AddressAny struct {
-	transportSize    ITransportSize
-	numberOfElements uint16
-	dbNumber         uint16
-	area             IMemoryArea
-	byteAddress      uint16
-	bitAddress       uint8
+	TransportSize    ITransportSize
+	NumberOfElements uint16
+	DbNumber         uint16
+	Area             IMemoryArea
+	ByteAddress      uint16
+	BitAddress       uint8
 	S7Address
 }
 
@@ -51,7 +51,7 @@ func (m S7AddressAny) initialize() spi.Message {
 }
 
 func NewS7AddressAny(transportSize ITransportSize, numberOfElements uint16, dbNumber uint16, area IMemoryArea, byteAddress uint16, bitAddress uint8) S7AddressInitializer {
-	return &S7AddressAny{transportSize: transportSize, numberOfElements: numberOfElements, dbNumber: dbNumber, area: area, byteAddress: byteAddress, bitAddress: bitAddress}
+	return &S7AddressAny{TransportSize: transportSize, NumberOfElements: numberOfElements, DbNumber: dbNumber, Area: area, ByteAddress: byteAddress, BitAddress: bitAddress}
 }
 
 func CastIS7AddressAny(structType interface{}) IS7AddressAny {
@@ -165,28 +165,28 @@ func (m S7AddressAny) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Enum field (transportSize)
-		transportSize := CastTransportSize(m.transportSize)
+		transportSize := CastTransportSize(m.TransportSize)
 		_transportSizeErr := transportSize.Serialize(io)
 		if _transportSizeErr != nil {
 			return errors.New("Error serializing 'transportSize' field " + _transportSizeErr.Error())
 		}
 
 		// Simple Field (numberOfElements)
-		numberOfElements := uint16(m.numberOfElements)
+		numberOfElements := uint16(m.NumberOfElements)
 		_numberOfElementsErr := io.WriteUint16(16, (numberOfElements))
 		if _numberOfElementsErr != nil {
 			return errors.New("Error serializing 'numberOfElements' field " + _numberOfElementsErr.Error())
 		}
 
 		// Simple Field (dbNumber)
-		dbNumber := uint16(m.dbNumber)
+		dbNumber := uint16(m.DbNumber)
 		_dbNumberErr := io.WriteUint16(16, (dbNumber))
 		if _dbNumberErr != nil {
 			return errors.New("Error serializing 'dbNumber' field " + _dbNumberErr.Error())
 		}
 
 		// Enum field (area)
-		area := CastMemoryArea(m.area)
+		area := CastMemoryArea(m.Area)
 		_areaErr := area.Serialize(io)
 		if _areaErr != nil {
 			return errors.New("Error serializing 'area' field " + _areaErr.Error())
@@ -201,14 +201,14 @@ func (m S7AddressAny) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (byteAddress)
-		byteAddress := uint16(m.byteAddress)
+		byteAddress := uint16(m.ByteAddress)
 		_byteAddressErr := io.WriteUint16(16, (byteAddress))
 		if _byteAddressErr != nil {
 			return errors.New("Error serializing 'byteAddress' field " + _byteAddressErr.Error())
 		}
 
 		// Simple Field (bitAddress)
-		bitAddress := uint8(m.bitAddress)
+		bitAddress := uint8(m.BitAddress)
 		_bitAddressErr := io.WriteUint8(3, (bitAddress))
 		if _bitAddressErr != nil {
 			return errors.New("Error serializing 'bitAddress' field " + _bitAddressErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7Message.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7Message.go
index 116dd59..39b803d 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7Message.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7Message.go
@@ -31,9 +31,9 @@ const S7Message_PROTOCOLID uint8 = 0x32
 
 // The data-structure of this message
 type S7Message struct {
-	tpduReference uint16
-	parameter     *IS7Parameter
-	payload       *IS7Payload
+	TpduReference uint16
+	Parameter     *IS7Parameter
+	Payload       *IS7Payload
 }
 
 // The corresponding interface
@@ -95,13 +95,13 @@ func (m S7Message) LengthInBits() uint16 {
 	// Length of sub-type elements will be added by sub-type...
 
 	// Optional Field (parameter)
-	if m.parameter != nil {
-		lengthInBits += (*m.parameter).LengthInBits()
+	if m.Parameter != nil {
+		lengthInBits += (*m.Parameter).LengthInBits()
 	}
 
 	// Optional Field (payload)
-	if m.payload != nil {
-		lengthInBits += (*m.payload).LengthInBits()
+	if m.Payload != nil {
+		lengthInBits += (*m.Payload).LengthInBits()
 	}
 
 	return lengthInBits
@@ -235,21 +235,21 @@ func S7MessageSerialize(io spi.WriteBuffer, m S7Message, i IS7Message, childSeri
 	}
 
 	// Simple Field (tpduReference)
-	tpduReference := uint16(m.tpduReference)
+	tpduReference := uint16(m.TpduReference)
 	_tpduReferenceErr := io.WriteUint16(16, (tpduReference))
 	if _tpduReferenceErr != nil {
 		return errors.New("Error serializing 'tpduReference' field " + _tpduReferenceErr.Error())
 	}
 
 	// Implicit Field (parameterLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	parameterLength := uint16(spi.InlineIf(bool((m.parameter) != (nil)), uint16((*m.parameter).LengthInBytes()), uint16(uint16(0))))
+	parameterLength := uint16(spi.InlineIf(bool((m.Parameter) != (nil)), uint16((*m.Parameter).LengthInBytes()), uint16(uint16(0))))
 	_parameterLengthErr := io.WriteUint16(16, (parameterLength))
 	if _parameterLengthErr != nil {
 		return errors.New("Error serializing 'parameterLength' field " + _parameterLengthErr.Error())
 	}
 
 	// Implicit Field (payloadLength) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-	payloadLength := uint16(spi.InlineIf(bool((m.payload) != (nil)), uint16((*m.payload).LengthInBytes()), uint16(uint16(0))))
+	payloadLength := uint16(spi.InlineIf(bool((m.Payload) != (nil)), uint16((*m.Payload).LengthInBytes()), uint16(uint16(0))))
 	_payloadLengthErr := io.WriteUint16(16, (payloadLength))
 	if _payloadLengthErr != nil {
 		return errors.New("Error serializing 'payloadLength' field " + _payloadLengthErr.Error())
@@ -263,8 +263,8 @@ func S7MessageSerialize(io spi.WriteBuffer, m S7Message, i IS7Message, childSeri
 
 	// Optional Field (parameter) (Can be skipped, if the value is null)
 	var parameter *IS7Parameter = nil
-	if m.parameter != nil {
-		parameter = m.parameter
+	if m.Parameter != nil {
+		parameter = m.Parameter
 		_parameterErr := CastIS7Parameter(*parameter).Serialize(io)
 		if _parameterErr != nil {
 			return errors.New("Error serializing 'parameter' field " + _parameterErr.Error())
@@ -273,8 +273,8 @@ func S7MessageSerialize(io spi.WriteBuffer, m S7Message, i IS7Message, childSeri
 
 	// Optional Field (payload) (Can be skipped, if the value is null)
 	var payload *IS7Payload = nil
-	if m.payload != nil {
-		payload = m.payload
+	if m.Payload != nil {
+		payload = m.Payload
 		_payloadErr := CastIS7Payload(*payload).Serialize(io)
 		if _payloadErr != nil {
 			return errors.New("Error serializing 'payload' field " + _payloadErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageRequest.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageRequest.go
index 21c73e5..5c7c023 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageRequest.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageRequest.go
@@ -39,9 +39,9 @@ func (m S7MessageRequest) MessageType() uint8 {
 }
 
 func (m S7MessageRequest) initialize(tpduReference uint16, parameter *IS7Parameter, payload *IS7Payload) spi.Message {
-	m.tpduReference = tpduReference
-	m.parameter = parameter
-	m.payload = payload
+	m.TpduReference = tpduReference
+	m.Parameter = parameter
+	m.Payload = payload
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponse.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponse.go
index 69ce3cb..0f86939 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponse.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponse.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type S7MessageResponse struct {
-	errorClass uint8
-	errorCode  uint8
+	ErrorClass uint8
+	ErrorCode  uint8
 	S7Message
 }
 
@@ -42,14 +42,14 @@ func (m S7MessageResponse) MessageType() uint8 {
 }
 
 func (m S7MessageResponse) initialize(tpduReference uint16, parameter *IS7Parameter, payload *IS7Payload) spi.Message {
-	m.tpduReference = tpduReference
-	m.parameter = parameter
-	m.payload = payload
+	m.TpduReference = tpduReference
+	m.Parameter = parameter
+	m.Payload = payload
 	return m
 }
 
 func NewS7MessageResponse(errorClass uint8, errorCode uint8) S7MessageInitializer {
-	return &S7MessageResponse{errorClass: errorClass, errorCode: errorCode}
+	return &S7MessageResponse{ErrorClass: errorClass, ErrorCode: errorCode}
 }
 
 func CastIS7MessageResponse(structType interface{}) IS7MessageResponse {
@@ -110,14 +110,14 @@ func (m S7MessageResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (errorClass)
-		errorClass := uint8(m.errorClass)
+		errorClass := uint8(m.ErrorClass)
 		_errorClassErr := io.WriteUint8(8, (errorClass))
 		if _errorClassErr != nil {
 			return errors.New("Error serializing 'errorClass' field " + _errorClassErr.Error())
 		}
 
 		// Simple Field (errorCode)
-		errorCode := uint8(m.errorCode)
+		errorCode := uint8(m.ErrorCode)
 		_errorCodeErr := io.WriteUint8(8, (errorCode))
 		if _errorCodeErr != nil {
 			return errors.New("Error serializing 'errorCode' field " + _errorCodeErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponseData.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponseData.go
index 7bc05b9..3db93a4 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponseData.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageResponseData.go
@@ -25,8 +25,8 @@ import (
 
 // The data-structure of this message
 type S7MessageResponseData struct {
-	errorClass uint8
-	errorCode  uint8
+	ErrorClass uint8
+	ErrorCode  uint8
 	S7Message
 }
 
@@ -42,14 +42,14 @@ func (m S7MessageResponseData) MessageType() uint8 {
 }
 
 func (m S7MessageResponseData) initialize(tpduReference uint16, parameter *IS7Parameter, payload *IS7Payload) spi.Message {
-	m.tpduReference = tpduReference
-	m.parameter = parameter
-	m.payload = payload
+	m.TpduReference = tpduReference
+	m.Parameter = parameter
+	m.Payload = payload
 	return m
 }
 
 func NewS7MessageResponseData(errorClass uint8, errorCode uint8) S7MessageInitializer {
-	return &S7MessageResponseData{errorClass: errorClass, errorCode: errorCode}
+	return &S7MessageResponseData{ErrorClass: errorClass, ErrorCode: errorCode}
 }
 
 func CastIS7MessageResponseData(structType interface{}) IS7MessageResponseData {
@@ -110,14 +110,14 @@ func (m S7MessageResponseData) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (errorClass)
-		errorClass := uint8(m.errorClass)
+		errorClass := uint8(m.ErrorClass)
 		_errorClassErr := io.WriteUint8(8, (errorClass))
 		if _errorClassErr != nil {
 			return errors.New("Error serializing 'errorClass' field " + _errorClassErr.Error())
 		}
 
 		// Simple Field (errorCode)
-		errorCode := uint8(m.errorCode)
+		errorCode := uint8(m.ErrorCode)
 		_errorCodeErr := io.WriteUint8(8, (errorCode))
 		if _errorCodeErr != nil {
 			return errors.New("Error serializing 'errorCode' field " + _errorCodeErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageUserData.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageUserData.go
index 2120e78..ddb0e66 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageUserData.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7MessageUserData.go
@@ -39,9 +39,9 @@ func (m S7MessageUserData) MessageType() uint8 {
 }
 
 func (m S7MessageUserData) initialize(tpduReference uint16, parameter *IS7Parameter, payload *IS7Payload) spi.Message {
-	m.tpduReference = tpduReference
-	m.parameter = parameter
-	m.payload = payload
+	m.TpduReference = tpduReference
+	m.Parameter = parameter
+	m.Payload = payload
 	return m
 }
 
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
index 903e19c..e88da7c 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarRequest.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type S7ParameterReadVarRequest struct {
-	items []IS7VarRequestParameterItem
+	Items []IS7VarRequestParameterItem
 	S7Parameter
 }
 
@@ -50,7 +50,7 @@ func (m S7ParameterReadVarRequest) initialize() spi.Message {
 }
 
 func NewS7ParameterReadVarRequest(items []IS7VarRequestParameterItem) S7ParameterInitializer {
-	return &S7ParameterReadVarRequest{items: items}
+	return &S7ParameterReadVarRequest{Items: items}
 }
 
 func CastIS7ParameterReadVarRequest(structType interface{}) IS7ParameterReadVarRequest {
@@ -80,8 +80,8 @@ func (m S7ParameterReadVarRequest) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.items) > 0 {
-		for _, element := range m.items {
+	if len(m.Items) > 0 {
+		for _, element := range m.Items {
 			lengthInBits += element.LengthInBits()
 		}
 	}
@@ -126,15 +126,15 @@ func (m S7ParameterReadVarRequest) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Implicit Field (numItems) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		numItems := uint8(uint8(len(m.items)))
+		numItems := uint8(uint8(len(m.Items)))
 		_numItemsErr := io.WriteUint8(8, (numItems))
 		if _numItemsErr != nil {
 			return errors.New("Error serializing 'numItems' field " + _numItemsErr.Error())
 		}
 
 		// Array Field (items)
-		if m.items != nil {
-			for _, _element := range m.items {
+		if m.Items != nil {
+			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'items' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarResponse.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarResponse.go
index 14cfa2e..49290c6 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarResponse.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterReadVarResponse.go
@@ -25,7 +25,7 @@ import (
 
 // The data-structure of this message
 type S7ParameterReadVarResponse struct {
-	numItems uint8
+	NumItems uint8
 	S7Parameter
 }
 
@@ -49,7 +49,7 @@ func (m S7ParameterReadVarResponse) initialize() spi.Message {
 }
 
 func NewS7ParameterReadVarResponse(numItems uint8) S7ParameterInitializer {
-	return &S7ParameterReadVarResponse{numItems: numItems}
+	return &S7ParameterReadVarResponse{NumItems: numItems}
 }
 
 func CastIS7ParameterReadVarResponse(structType interface{}) IS7ParameterReadVarResponse {
@@ -101,7 +101,7 @@ func (m S7ParameterReadVarResponse) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Simple Field (numItems)
-		numItems := uint8(m.numItems)
+		numItems := uint8(m.NumItems)
 		_numItemsErr := io.WriteUint8(8, (numItems))
 		if _numItemsErr != nil {
 			return errors.New("Error serializing 'numItems' field " + _numItemsErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterSetupCommunication.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterSetupCommunication.go
index 6d89346..8e4752a 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterSetupCommunication.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterSetupCommunication.go
@@ -26,9 +26,9 @@ import (
 
 // The data-structure of this message
 type S7ParameterSetupCommunication struct {
-	maxAmqCaller uint16
-	maxAmqCallee uint16
-	pduLength    uint16
+	MaxAmqCaller uint16
+	MaxAmqCallee uint16
+	PduLength    uint16
 	S7Parameter
 }
 
@@ -52,7 +52,7 @@ func (m S7ParameterSetupCommunication) initialize() spi.Message {
 }
 
 func NewS7ParameterSetupCommunication(maxAmqCaller uint16, maxAmqCallee uint16, pduLength uint16) S7ParameterInitializer {
-	return &S7ParameterSetupCommunication{maxAmqCaller: maxAmqCaller, maxAmqCallee: maxAmqCallee, pduLength: pduLength}
+	return &S7ParameterSetupCommunication{MaxAmqCaller: maxAmqCaller, MaxAmqCallee: maxAmqCallee, PduLength: pduLength}
 }
 
 func CastIS7ParameterSetupCommunication(structType interface{}) IS7ParameterSetupCommunication {
@@ -147,21 +147,21 @@ func (m S7ParameterSetupCommunication) Serialize(io spi.WriteBuffer) error {
 		}
 
 		// Simple Field (maxAmqCaller)
-		maxAmqCaller := uint16(m.maxAmqCaller)
+		maxAmqCaller := uint16(m.MaxAmqCaller)
 		_maxAmqCallerErr := io.WriteUint16(16, (maxAmqCaller))
 		if _maxAmqCallerErr != nil {
 			return errors.New("Error serializing 'maxAmqCaller' field " + _maxAmqCallerErr.Error())
 		}
 
 		// Simple Field (maxAmqCallee)
-		maxAmqCallee := uint16(m.maxAmqCallee)
+		maxAmqCallee := uint16(m.MaxAmqCallee)
 		_maxAmqCalleeErr := io.WriteUint16(16, (maxAmqCallee))
 		if _maxAmqCalleeErr != nil {
 			return errors.New("Error serializing 'maxAmqCallee' field " + _maxAmqCalleeErr.Error())
 		}
 
 		// Simple Field (pduLength)
-		pduLength := uint16(m.pduLength)
+		pduLength := uint16(m.PduLength)
 		_pduLengthErr := io.WriteUint16(16, (pduLength))
 		if _pduLengthErr != nil {
 			return errors.New("Error serializing 'pduLength' field " + _pduLengthErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
index 35a9201..a4274ee 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserData.go
@@ -26,7 +26,7 @@ import (
 
 // The data-structure of this message
 type S7ParameterUserData struct {
-	items []IS7ParameterUserDataItem
+	Items []IS7ParameterUserDataItem
 	S7Parameter
 }
 
@@ -50,7 +50,7 @@ func (m S7ParameterUserData) initialize() spi.Message {
 }
 
 func NewS7ParameterUserData(items []IS7ParameterUserDataItem) S7ParameterInitializer {
-	return &S7ParameterUserData{items: items}
+	return &S7ParameterUserData{Items: items}
 }
 
 func CastIS7ParameterUserData(structType interface{}) IS7ParameterUserData {
@@ -80,8 +80,8 @@ func (m S7ParameterUserData) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Array field
-	if len(m.items) > 0 {
-		for _, element := range m.items {
+	if len(m.Items) > 0 {
+		for _, element := range m.Items {
 			lengthInBits += element.LengthInBits()
 		}
 	}
@@ -126,15 +126,15 @@ func (m S7ParameterUserData) Serialize(io spi.WriteBuffer) error {
 	ser := func() error {
 
 		// Implicit Field (numItems) (Used for parsing, but it's value is not stored as it's implicitly given by the objects content)
-		numItems := uint8(uint8(len(m.items)))
+		numItems := uint8(uint8(len(m.Items)))
 		_numItemsErr := io.WriteUint8(8, (numItems))
 		if _numItemsErr != nil {
 			return errors.New("Error serializing 'numItems' field " + _numItemsErr.Error())
 		}
 
 		// Array Field (items)
-		if m.items != nil {
-			for _, _element := range m.items {
+		if m.Items != nil {
+			for _, _element := range m.Items {
 				_elementErr := _element.Serialize(io)
 				if _elementErr != nil {
 					return errors.New("Error serializing 'items' field " + _elementErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItemCPUFunctions.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItemCPUFunctions.go
index cd28fa4..3e8e8a2 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItemCPUFunctions.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterUserDataItemCPUFunctions.go
@@ -25,14 +25,14 @@ import (
 
 // The data-structure of this message
 type S7ParameterUserDataItemCPUFunctions struct {
-	method                  uint8
-	cpuFunctionType         uint8
-	cpuFunctionGroup        uint8
-	cpuSubfunction          uint8
-	sequenceNumber          uint8
-	dataUnitReferenceNumber *uint8
-	lastDataUnit            *uint8
-	errorCode               *uint16
+	Method                  uint8
+	CpuFunctionType         uint8
+	CpuFunctionGroup        uint8
+	CpuSubfunction          uint8
+	SequenceNumber          uint8
+	DataUnitReferenceNumber *uint8
+	LastDataUnit            *uint8
+	ErrorCode               *uint16
 	S7ParameterUserDataItem
 }
 
@@ -52,7 +52,7 @@ func (m S7ParameterUserDataItemCPUFunctions) initialize() spi.Message {
 }
 
 func NewS7ParameterUserDataItemCPUFunctions(method uint8, cpuFunctionType uint8, cpuFunctionGroup uint8, cpuSubfunction uint8, sequenceNumber uint8, dataUnitReferenceNumber *uint8, lastDataUnit *uint8, errorCode *uint16) S7ParameterUserDataItemInitializer {
-	return &S7ParameterUserDataItemCPUFunctions{method: method, cpuFunctionType: cpuFunctionType, cpuFunctionGroup: cpuFunctionGroup, cpuSubfunction: cpuSubfunction, sequenceNumber: sequenceNumber, dataUnitReferenceNumber: dataUnitReferenceNumber, lastDataUnit: lastDataUnit, errorCode: errorCode}
+	return &S7ParameterUserDataItemCPUFunctions{Method: method, CpuFunctionType: cpuFunctionType, CpuFunctionGroup: cpuFunctionGroup, CpuSubfunction: cpuSubfunction, SequenceNumber: sequenceNumber, DataUnitReferenceNumber: dataUnitReferenceNumber, LastDataUnit: lastDataUnit, ErrorCode: errorCode}
 }
 
 func CastIS7ParameterUserDataItemCPUFunctions(structType interface{}) IS7ParameterUserDataItemCPUFunctions {
@@ -97,17 +97,17 @@ func (m S7ParameterUserDataItemCPUFunctions) LengthInBits() uint16 {
 	lengthInBits += 8
 
 	// Optional Field (dataUnitReferenceNumber)
-	if m.dataUnitReferenceNumber != nil {
+	if m.DataUnitReferenceNumber != nil {
 		lengthInBits += 8
 	}
 
 	// Optional Field (lastDataUnit)
-	if m.lastDataUnit != nil {
+	if m.LastDataUnit != nil {
 		lengthInBits += 8
 	}
 
 	// Optional Field (errorCode)
-	if m.errorCode != nil {
+	if m.ErrorCode != nil {
 		lengthInBits += 16
 	}
 
@@ -204,35 +204,35 @@ func (m S7ParameterUserDataItemCPUFunctions) Serialize(io spi.WriteBuffer) error
 		}
 
 		// Simple Field (method)
-		method := uint8(m.method)
+		method := uint8(m.Method)
 		_methodErr := io.WriteUint8(8, (method))
 		if _methodErr != nil {
 			return errors.New("Error serializing 'method' field " + _methodErr.Error())
 		}
 
 		// Simple Field (cpuFunctionType)
-		cpuFunctionType := uint8(m.cpuFunctionType)
+		cpuFunctionType := uint8(m.CpuFunctionType)
 		_cpuFunctionTypeErr := io.WriteUint8(4, (cpuFunctionType))
 		if _cpuFunctionTypeErr != nil {
 			return errors.New("Error serializing 'cpuFunctionType' field " + _cpuFunctionTypeErr.Error())
 		}
 
 		// Simple Field (cpuFunctionGroup)
-		cpuFunctionGroup := uint8(m.cpuFunctionGroup)
+		cpuFunctionGroup := uint8(m.CpuFunctionGroup)
 		_cpuFunctionGroupErr := io.WriteUint8(4, (cpuFunctionGroup))
 		if _cpuFunctionGroupErr != nil {
 			return errors.New("Error serializing 'cpuFunctionGroup' field " + _cpuFunctionGroupErr.Error())
 		}
 
 		// Simple Field (cpuSubfunction)
-		cpuSubfunction := uint8(m.cpuSubfunction)
+		cpuSubfunction := uint8(m.CpuSubfunction)
 		_cpuSubfunctionErr := io.WriteUint8(8, (cpuSubfunction))
 		if _cpuSubfunctionErr != nil {
 			return errors.New("Error serializing 'cpuSubfunction' field " + _cpuSubfunctionErr.Error())
 		}
 
 		// Simple Field (sequenceNumber)
-		sequenceNumber := uint8(m.sequenceNumber)
+		sequenceNumber := uint8(m.SequenceNumber)
 		_sequenceNumberErr := io.WriteUint8(8, (sequenceNumber))
 		if _sequenceNumberErr != nil {
 			return errors.New("Error serializing 'sequenceNumber' field " + _sequenceNumberErr.Error())
@@ -240,8 +240,8 @@ func (m S7ParameterUserDataItemCPUFunctions) Serialize(io spi.WriteBuffer) error
 
 		// Optional Field (dataUnitReferenceNumber) (Can be skipped, if the value is null)
 		var dataUnitReferenceNumber *uint8 = nil
-		if m.dataUnitReferenceNumber != nil {
-			dataUnitReferenceNumber = m.dataUnitReferenceNumber
+		if m.DataUnitReferenceNumber != nil {
+			dataUnitReferenceNumber = m.DataUnitReferenceNumber
 			_dataUnitReferenceNumberErr := io.WriteUint8(8, *(dataUnitReferenceNumber))
 			if _dataUnitReferenceNumberErr != nil {
 				return errors.New("Error serializing 'dataUnitReferenceNumber' field " + _dataUnitReferenceNumberErr.Error())
@@ -250,8 +250,8 @@ func (m S7ParameterUserDataItemCPUFunctions) Serialize(io spi.WriteBuffer) error
 
 		// Optional Field (lastDataUnit) (Can be skipped, if the value is null)
 		var lastDataUnit *uint8 = nil
-		if m.lastDataUnit != nil {
-			lastDataUnit = m.lastDataUnit
+		if m.LastDataUnit != nil {
+			lastDataUnit = m.LastDataUnit
 			_lastDataUnitErr := io.WriteUint8(8, *(lastDataUnit))
 			if _lastDataUnitErr != nil {
 				return errors.New("Error serializing 'lastDataUnit' field " + _lastDataUnitErr.Error())
@@ -260,8 +260,8 @@ func (m S7ParameterUserDataItemCPUFunctions) Serialize(io spi.WriteBuffer) error
 
 		// Optional Field (errorCode) (Can be skipped, if the value is null)
 		var errorCode *uint16 = nil
-		if m.errorCode != nil {
-			errorCode = m.errorCode
+		if m.ErrorCode != nil {
+			errorCode = m.ErrorCode
 			_errorCodeErr := io.WriteUint16(16, *(errorCode))
 			if _errorCodeErr != nil {
 				return errors.New("Error serializing 'errorCode' field " + _errorCodeErr.Error())
diff --git a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
index 0b08b0a..91aaaf7 100644
--- a/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
+++ b/sandbox/plc4go/internal/plc4go/s7/readwrite/model/S7ParameterWriteVarRequest.go
@@ -26,7 +26,7 @@ import (
 
... 882 lines suppressed ...