You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2022/11/02 13:37:31 UTC

[plc4x] branch develop updated: refactor(plc4go/spi): change the API of Parse

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

sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/develop by this push:
     new c5fa0a366 refactor(plc4go/spi): change the API of Parse
c5fa0a366 is described below

commit c5fa0a366a074bfb605dc94acf03a8733ba9f10a
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Wed Nov 2 14:37:07 2022 +0100

    refactor(plc4go/spi): change the API of Parse
    
    + The default parse now uses a ReadBufferByteBased with BigEndian (TBD get it from mspec)
    + The old Parse is available under the name ParseWithBuffer
---
 .../templates/go/complex-type-template.go.ftlh     |   33 +-
 .../templates/go/data-io-template.go.ftlh          |    6 +-
 .../resources/templates/go/enum-template.go.ftlh   |    6 +-
 .../templates/go/parser-factory-template.go.ftlh   |    2 +-
 .../go/xml-parser-factory-template.go.ftlh         |    4 +-
 plc4go/internal/ads/MessageCodec.go                |    4 +-
 plc4go/internal/ads/Reader.go                      |    7 +-
 plc4go/internal/bacnetip/Discoverer.go             |    5 +-
 plc4go/internal/bacnetip/MessageCodec.go           |    4 +-
 plc4go/internal/cbus/MessageCodec.go               |   14 +-
 plc4go/internal/eip/MessageCodec.go                |    5 +-
 plc4go/internal/eip/Reader.go                      |   10 +-
 plc4go/internal/eip/Writer.go                      |    6 +-
 plc4go/internal/knxnetip/Browser.go                |    6 +-
 .../knxnetip/ConnectionDriverSpecificOperations.go |   10 +-
 plc4go/internal/knxnetip/MessageCodec.go           |    4 +-
 plc4go/internal/knxnetip/Reader.go                 |    2 +-
 plc4go/internal/knxnetip/Subscriber.go             |    5 +-
 plc4go/internal/knxnetip/SubscriptionEvent.go      |    8 +-
 plc4go/internal/knxnetip/Utils.go                  |    7 +-
 plc4go/internal/knxnetip/ValueDecoder.go           |    2 +-
 plc4go/internal/modbus/MessageCodec.go             |    4 +-
 plc4go/internal/modbus/Reader.go                   |    4 +-
 plc4go/internal/s7/FieldHandler.go                 |    3 +-
 plc4go/internal/s7/MessageCodec.go                 |    4 +-
 plc4go/internal/s7/Reader.go                       |    4 +-
 plc4go/internal/s7/s7Io_test.go                    |    4 +-
 plc4go/internal/simulated/Device.go                |    4 +-
 plc4go/protocols/abeth/readwrite/ParserHelper.go   |    8 +-
 .../protocols/abeth/readwrite/XmlParserHelper.go   |    8 +-
 .../model/CIPEncapsulationConnectionRequest.go     |    6 +-
 .../model/CIPEncapsulationConnectionResponse.go    |    6 +-
 .../readwrite/model/CIPEncapsulationPacket.go      |   15 +-
 .../readwrite/model/CIPEncapsulationReadRequest.go |    8 +-
 .../model/CIPEncapsulationReadResponse.go          |    8 +-
 .../readwrite/model/DF1CommandRequestMessage.go    |    8 +-
 ...mandResponseMessageProtectedTypedLogicalRead.go |    6 +-
 .../abeth/readwrite/model/DF1RequestCommand.go     |    9 +-
 .../abeth/readwrite/model/DF1RequestMessage.go     |    9 +-
 .../model/DF1RequestProtectedTypedLogicalRead.go   |    6 +-
 .../abeth/readwrite/model/DF1ResponseMessage.go    |    9 +-
 plc4go/protocols/ads/readwrite/ParserHelper.go     |   32 +-
 plc4go/protocols/ads/readwrite/XmlParserHelper.go  |   32 +-
 .../model/AdsAddDeviceNotificationRequest.go       |    2 +-
 .../model/AdsAddDeviceNotificationResponse.go      |    8 +-
 .../protocols/ads/readwrite/model/AdsConstants.go  |    6 +-
 .../protocols/ads/readwrite/model/AdsDataType.go   |    6 +-
 .../ads/readwrite/model/AdsDataTypeArrayInfo.go    |    6 +-
 .../readwrite/model/AdsDataTypeTableChildEntry.go  |   10 +-
 .../ads/readwrite/model/AdsDataTypeTableEntry.go   |   10 +-
 .../model/AdsDeleteDeviceNotificationRequest.go    |    6 +-
 .../model/AdsDeleteDeviceNotificationResponse.go   |    8 +-
 .../model/AdsDeviceNotificationRequest.go          |    8 +-
 .../model/AdsDeviceNotificationResponse.go         |    6 +-
 .../ads/readwrite/model/AdsInvalidRequest.go       |    6 +-
 .../ads/readwrite/model/AdsInvalidResponse.go      |    6 +-
 .../ads/readwrite/model/AdsMultiRequestItem.go     |   13 +-
 .../ads/readwrite/model/AdsMultiRequestItemRead.go |    6 +-
 .../model/AdsMultiRequestItemReadWrite.go          |    6 +-
 .../readwrite/model/AdsMultiRequestItemWrite.go    |    6 +-
 .../ads/readwrite/model/AdsNotificationSample.go   |    6 +-
 .../readwrite/model/AdsReadDeviceInfoRequest.go    |    6 +-
 .../readwrite/model/AdsReadDeviceInfoResponse.go   |    8 +-
 .../ads/readwrite/model/AdsReadRequest.go          |    6 +-
 .../ads/readwrite/model/AdsReadResponse.go         |    8 +-
 .../ads/readwrite/model/AdsReadStateRequest.go     |    6 +-
 .../ads/readwrite/model/AdsReadStateResponse.go    |    8 +-
 .../ads/readwrite/model/AdsReadWriteRequest.go     |    8 +-
 .../ads/readwrite/model/AdsReadWriteResponse.go    |    8 +-
 .../ads/readwrite/model/AdsStampHeader.go          |    8 +-
 .../ads/readwrite/model/AdsSymbolTableEntry.go     |    6 +-
 .../protocols/ads/readwrite/model/AdsTableSizes.go |    6 +-
 .../ads/readwrite/model/AdsWriteControlRequest.go  |    6 +-
 .../ads/readwrite/model/AdsWriteControlResponse.go |    8 +-
 .../ads/readwrite/model/AdsWriteRequest.go         |    6 +-
 .../ads/readwrite/model/AdsWriteResponse.go        |    8 +-
 plc4go/protocols/ads/readwrite/model/AmsNetId.go   |    6 +-
 plc4go/protocols/ads/readwrite/model/AmsPacket.go  |   53 +-
 .../readwrite/model/AmsSerialAcknowledgeFrame.go   |    6 +-
 .../ads/readwrite/model/AmsSerialFrame.go          |    8 +-
 .../ads/readwrite/model/AmsSerialResetFrame.go     |    6 +-
 .../protocols/ads/readwrite/model/AmsTCPPacket.go  |    8 +-
 plc4go/protocols/ads/readwrite/model/CommandId.go  |    6 +-
 plc4go/protocols/ads/readwrite/model/DataItem.go   |    6 +-
 .../ads/readwrite/model/DefaultAmsPorts.go         |    6 +-
 .../protocols/ads/readwrite/model/PlcValueType.go  |    6 +-
 .../ads/readwrite/model/ReservedIndexGroups.go     |    6 +-
 plc4go/protocols/ads/readwrite/model/ReturnCode.go |    6 +-
 .../protocols/bacnetip/readwrite/ParserHelper.go   |  574 ++++-----
 .../bacnetip/readwrite/XmlParserHelper.go          |  574 ++++-----
 plc4go/protocols/bacnetip/readwrite/model/APDU.go  |   27 +-
 .../bacnetip/readwrite/model/APDUAbort.go          |    8 +-
 .../bacnetip/readwrite/model/APDUComplexAck.go     |    8 +-
 .../readwrite/model/APDUConfirmedRequest.go        |   12 +-
 .../bacnetip/readwrite/model/APDUError.go          |   10 +-
 .../bacnetip/readwrite/model/APDUReject.go         |    8 +-
 .../bacnetip/readwrite/model/APDUSegmentAck.go     |    6 +-
 .../bacnetip/readwrite/model/APDUSimpleAck.go      |    6 +-
 .../readwrite/model/APDUUnconfirmedRequest.go      |    8 +-
 .../bacnetip/readwrite/model/APDUUnknown.go        |    6 +-
 .../protocols/bacnetip/readwrite/model/ApduType.go |    6 +-
 .../bacnetip/readwrite/model/BACnetAbortReason.go  |    6 +-
 .../readwrite/model/BACnetAbortReasonTagged.go     |    6 +-
 .../BACnetAccessAuthenticationFactorDisable.go     |    6 +-
 ...ACnetAccessAuthenticationFactorDisableTagged.go |    8 +-
 .../model/BACnetAccessCredentialDisable.go         |    6 +-
 .../model/BACnetAccessCredentialDisableReason.go   |    6 +-
 .../BACnetAccessCredentialDisableReasonTagged.go   |    8 +-
 .../model/BACnetAccessCredentialDisableTagged.go   |    8 +-
 .../bacnetip/readwrite/model/BACnetAccessEvent.go  |    6 +-
 .../readwrite/model/BACnetAccessEventTagged.go     |    8 +-
 .../readwrite/model/BACnetAccessPassbackMode.go    |    6 +-
 .../model/BACnetAccessPassbackModeTagged.go        |    8 +-
 .../bacnetip/readwrite/model/BACnetAccessRule.go   |   16 +-
 .../model/BACnetAccessRuleLocationSpecifier.go     |    6 +-
 .../BACnetAccessRuleLocationSpecifierTagged.go     |    8 +-
 .../model/BACnetAccessRuleTimeRangeSpecifier.go    |    6 +-
 .../BACnetAccessRuleTimeRangeSpecifierTagged.go    |    8 +-
 .../readwrite/model/BACnetAccessThreatLevel.go     |    8 +-
 .../readwrite/model/BACnetAccessUserType.go        |    6 +-
 .../readwrite/model/BACnetAccessUserTypeTagged.go  |    8 +-
 .../model/BACnetAccessZoneOccupancyState.go        |    6 +-
 .../model/BACnetAccessZoneOccupancyStateTagged.go  |    8 +-
 .../readwrite/model/BACnetAccumulatorRecord.go     |   14 +-
 .../BACnetAccumulatorRecordAccumulatorStatus.go    |    6 +-
 ...CnetAccumulatorRecordAccumulatorStatusTagged.go |    8 +-
 .../bacnetip/readwrite/model/BACnetAction.go       |    6 +-
 .../readwrite/model/BACnetActionCommand.go         |   24 +-
 .../bacnetip/readwrite/model/BACnetActionList.go   |   12 +-
 .../bacnetip/readwrite/model/BACnetActionTagged.go |    8 +-
 .../bacnetip/readwrite/model/BACnetAddress.go      |   10 +-
 .../readwrite/model/BACnetAddressBinding.go        |   10 +-
 .../readwrite/model/BACnetAddressEnclosed.go       |   12 +-
 .../readwrite/model/BACnetApplicationTag.go        |   35 +-
 .../model/BACnetApplicationTagBitString.go         |    8 +-
 .../readwrite/model/BACnetApplicationTagBoolean.go |    8 +-
 .../model/BACnetApplicationTagCharacterString.go   |    8 +-
 .../readwrite/model/BACnetApplicationTagDate.go    |    8 +-
 .../readwrite/model/BACnetApplicationTagDouble.go  |    8 +-
 .../model/BACnetApplicationTagEnumerated.go        |    8 +-
 .../readwrite/model/BACnetApplicationTagNull.go    |    6 +-
 .../model/BACnetApplicationTagObjectIdentifier.go  |    8 +-
 .../model/BACnetApplicationTagOctetString.go       |    8 +-
 .../readwrite/model/BACnetApplicationTagReal.go    |    8 +-
 .../model/BACnetApplicationTagSignedInteger.go     |    8 +-
 .../readwrite/model/BACnetApplicationTagTime.go    |    8 +-
 .../model/BACnetApplicationTagUnsignedInteger.go   |    8 +-
 .../readwrite/model/BACnetAssignedAccessRights.go  |   10 +-
 .../readwrite/model/BACnetAssignedLandingCalls.go  |    8 +-
 .../BACnetAssignedLandingCallsLandingCallsList.go  |   12 +-
 ...netAssignedLandingCallsLandingCallsListEntry.go |   10 +-
 .../readwrite/model/BACnetAuthenticationFactor.go  |   12 +-
 .../model/BACnetAuthenticationFactorEnclosed.go    |   12 +-
 .../model/BACnetAuthenticationFactorFormat.go      |   12 +-
 .../model/BACnetAuthenticationFactorType.go        |    6 +-
 .../model/BACnetAuthenticationFactorTypeTagged.go  |    8 +-
 .../readwrite/model/BACnetAuthenticationPolicy.go  |   12 +-
 .../model/BACnetAuthenticationPolicyList.go        |   12 +-
 .../model/BACnetAuthenticationPolicyListEntry.go   |   10 +-
 .../readwrite/model/BACnetAuthenticationStatus.go  |    6 +-
 .../model/BACnetAuthenticationStatusTagged.go      |    8 +-
 .../model/BACnetAuthorizationExemption.go          |    6 +-
 .../model/BACnetAuthorizationExemptionTagged.go    |    8 +-
 .../readwrite/model/BACnetAuthorizationMode.go     |    6 +-
 .../model/BACnetAuthorizationModeTagged.go         |    8 +-
 .../bacnetip/readwrite/model/BACnetBDTEntry.go     |   10 +-
 .../bacnetip/readwrite/model/BACnetBackupState.go  |    6 +-
 .../readwrite/model/BACnetBackupStateTagged.go     |    8 +-
 .../readwrite/model/BACnetBinaryLightingPV.go      |    6 +-
 .../model/BACnetBinaryLightingPVTagged.go          |    8 +-
 .../bacnetip/readwrite/model/BACnetBinaryPV.go     |    6 +-
 .../readwrite/model/BACnetBinaryPVTagged.go        |    8 +-
 .../model/BACnetCOVMultipleSubscription.go         |   16 +-
 ...bscriptionListOfCovSubscriptionSpecification.go |   12 +-
 ...ptionListOfCovSubscriptionSpecificationEntry.go |   10 +-
 ...riptionSpecificationEntryListOfCovReferences.go |   12 +-
 ...onSpecificationEntryListOfCovReferencesEntry.go |   12 +-
 .../readwrite/model/BACnetCOVSubscription.go       |   16 +-
 .../readwrite/model/BACnetCalendarEntry.go         |   15 +-
 .../readwrite/model/BACnetCalendarEntryDate.go     |    8 +-
 .../model/BACnetCalendarEntryDateRange.go          |    8 +-
 .../readwrite/model/BACnetCalendarEntryEnclosed.go |   12 +-
 .../readwrite/model/BACnetCalendarEntryWeekNDay.go |    8 +-
 .../bacnetip/readwrite/model/BACnetChannelValue.go |   37 +-
 .../readwrite/model/BACnetChannelValueBitString.go |    8 +-
 .../readwrite/model/BACnetChannelValueBoolean.go   |    8 +-
 .../model/BACnetChannelValueCharacterString.go     |    8 +-
 .../readwrite/model/BACnetChannelValueDate.go      |    8 +-
 .../readwrite/model/BACnetChannelValueDouble.go    |    8 +-
 .../model/BACnetChannelValueEnumerated.go          |    8 +-
 .../readwrite/model/BACnetChannelValueInteger.go   |    8 +-
 .../model/BACnetChannelValueLightingCommand.go     |    8 +-
 .../readwrite/model/BACnetChannelValueNull.go      |    8 +-
 .../model/BACnetChannelValueObjectidentifier.go    |    8 +-
 .../model/BACnetChannelValueOctetString.go         |    8 +-
 .../readwrite/model/BACnetChannelValueReal.go      |    8 +-
 .../readwrite/model/BACnetChannelValueTime.go      |    8 +-
 .../readwrite/model/BACnetChannelValueUnsigned.go  |    8 +-
 .../readwrite/model/BACnetCharacterEncoding.go     |    6 +-
 .../bacnetip/readwrite/model/BACnetClientCOV.go    |   13 +-
 .../readwrite/model/BACnetClientCOVNone.go         |    8 +-
 .../readwrite/model/BACnetClientCOVObject.go       |    8 +-
 .../bacnetip/readwrite/model/BACnetClosingTag.go   |    8 +-
 .../model/BACnetConfirmedServiceChoice.go          |    6 +-
 .../model/BACnetConfirmedServiceRequest.go         |   73 +-
 ...ACnetConfirmedServiceRequestAcknowledgeAlarm.go |   18 +-
 .../BACnetConfirmedServiceRequestAddListElement.go |   14 +-
 .../BACnetConfirmedServiceRequestAtomicReadFile.go |   10 +-
 ...tConfirmedServiceRequestAtomicReadFileRecord.go |   10 +-
 ...tConfirmedServiceRequestAtomicReadFileStream.go |   10 +-
 ...edServiceRequestAtomicReadFileStreamOrRecord.go |   17 +-
 ...BACnetConfirmedServiceRequestAtomicWriteFile.go |   16 +-
 .../BACnetConfirmedServiceRequestAuthenticate.go   |    6 +-
 ...firmedServiceRequestConfirmedCOVNotification.go |   16 +-
 ...rviceRequestConfirmedCOVNotificationMultiple.go |   16 +-
 ...rmedServiceRequestConfirmedEventNotification.go |   32 +-
 ...firmedServiceRequestConfirmedPrivateTransfer.go |   12 +-
 ...tConfirmedServiceRequestConfirmedTextMessage.go |   14 +-
 ...rviceRequestConfirmedTextMessageMessageClass.go |   17 +-
 ...estConfirmedTextMessageMessageClassCharacter.go |    8 +-
 ...questConfirmedTextMessageMessageClassNumeric.go |    8 +-
 ...ceRequestConfirmedTextMessageMessagePriority.go |    6 +-
 ...estConfirmedTextMessageMessagePriorityTagged.go |    8 +-
 .../BACnetConfirmedServiceRequestCreateObject.go   |   10 +-
 ...medServiceRequestCreateObjectObjectSpecifier.go |   14 +-
 .../BACnetConfirmedServiceRequestDeleteObject.go   |    8 +-
 ...rmedServiceRequestDeviceCommunicationControl.go |   12 +-
 ...questDeviceCommunicationControlEnableDisable.go |    6 +-
 ...eviceCommunicationControlEnableDisableTagged.go |    8 +-
 ...tConfirmedServiceRequestGetEnrollmentSummary.go |   18 +-
 ...estGetEnrollmentSummaryAcknowledgementFilter.go |    6 +-
 ...EnrollmentSummaryAcknowledgementFilterTagged.go |    8 +-
 ...eRequestGetEnrollmentSummaryEventStateFilter.go |    6 +-
 ...stGetEnrollmentSummaryEventStateFilterTagged.go |    8 +-
 ...iceRequestGetEnrollmentSummaryPriorityFilter.go |   14 +-
 ...etConfirmedServiceRequestGetEventInformation.go |    8 +-
 ...etConfirmedServiceRequestLifeSafetyOperation.go |   14 +-
 .../BACnetConfirmedServiceRequestReadProperty.go   |   12 +-
 ...nfirmedServiceRequestReadPropertyConditional.go |    6 +-
 ...tConfirmedServiceRequestReadPropertyMultiple.go |    8 +-
 .../BACnetConfirmedServiceRequestReadRange.go      |   14 +-
 .../BACnetConfirmedServiceRequestReadRangeRange.go |   19 +-
 ...firmedServiceRequestReadRangeRangeByPosition.go |   10 +-
 ...ServiceRequestReadRangeRangeBySequenceNumber.go |   10 +-
 ...tConfirmedServiceRequestReadRangeRangeByTime.go |   10 +-
 ...netConfirmedServiceRequestReinitializeDevice.go |   10 +-
 ...ReinitializeDeviceReinitializedStateOfDevice.go |    6 +-
 ...ializeDeviceReinitializedStateOfDeviceTagged.go |    8 +-
 ...CnetConfirmedServiceRequestRemoveListElement.go |   14 +-
 .../BACnetConfirmedServiceRequestRequestKey.go     |    6 +-
 .../BACnetConfirmedServiceRequestSubscribeCOV.go   |   14 +-
 ...tConfirmedServiceRequestSubscribeCOVProperty.go |   18 +-
 ...edServiceRequestSubscribeCOVPropertyMultiple.go |   16 +-
 ...yMultipleListOfCovSubscriptionSpecifications.go |   14 +-
 ...tipleListOfCovSubscriptionSpecificationsList.go |   12 +-
 ...ListOfCovSubscriptionSpecificationsReference.go |   12 +-
 .../model/BACnetConfirmedServiceRequestUnknown.go  |    6 +-
 .../model/BACnetConfirmedServiceRequestVTClose.go  |    8 +-
 .../model/BACnetConfirmedServiceRequestVTData.go   |   12 +-
 .../model/BACnetConfirmedServiceRequestVTOpen.go   |   10 +-
 .../BACnetConfirmedServiceRequestWriteProperty.go  |   16 +-
 ...ConfirmedServiceRequestWritePropertyMultiple.go |    8 +-
 .../readwrite/model/BACnetConstructedData.go       | 1329 ++++++++++----------
 .../model/BACnetConstructedDataAPDULength.go       |    8 +-
 .../BACnetConstructedDataAPDUSegmentTimeout.go     |    8 +-
 .../model/BACnetConstructedDataAPDUTimeout.go      |    8 +-
 .../model/BACnetConstructedDataAbsenteeLimit.go    |    8 +-
 .../model/BACnetConstructedDataAcceptedModes.go    |    8 +-
 .../BACnetConstructedDataAccessAlarmEvents.go      |    8 +-
 .../BACnetConstructedDataAccessCredentialAll.go    |    6 +-
 .../BACnetConstructedDataAccessDoorAlarmValues.go  |    8 +-
 .../model/BACnetConstructedDataAccessDoorAll.go    |    6 +-
 .../BACnetConstructedDataAccessDoorFaultValues.go  |    8 +-
 .../BACnetConstructedDataAccessDoorPresentValue.go |    8 +-
 ...etConstructedDataAccessDoorRelinquishDefault.go |    8 +-
 .../model/BACnetConstructedDataAccessDoors.go      |   10 +-
 .../model/BACnetConstructedDataAccessEvent.go      |    8 +-
 ...nstructedDataAccessEventAuthenticationFactor.go |    8 +-
 .../BACnetConstructedDataAccessEventCredential.go  |    8 +-
 .../model/BACnetConstructedDataAccessEventTag.go   |    8 +-
 .../model/BACnetConstructedDataAccessEventTime.go  |    8 +-
 .../model/BACnetConstructedDataAccessPointAll.go   |    6 +-
 .../model/BACnetConstructedDataAccessRightsAll.go  |    6 +-
 ...BACnetConstructedDataAccessTransactionEvents.go |    8 +-
 .../model/BACnetConstructedDataAccessUserAll.go    |    6 +-
 .../BACnetConstructedDataAccessZoneAdjustValue.go  |    8 +-
 .../BACnetConstructedDataAccessZoneAlarmValues.go  |    8 +-
 .../model/BACnetConstructedDataAccessZoneAll.go    |    6 +-
 .../model/BACnetConstructedDataAccompaniment.go    |    8 +-
 .../BACnetConstructedDataAccompanimentTime.go      |    8 +-
 .../model/BACnetConstructedDataAccumulatorAll.go   |    6 +-
 ...CnetConstructedDataAccumulatorFaultHighLimit.go |    8 +-
 ...ACnetConstructedDataAccumulatorFaultLowLimit.go |    8 +-
 .../BACnetConstructedDataAccumulatorHighLimit.go   |    8 +-
 .../BACnetConstructedDataAccumulatorLowLimit.go    |    8 +-
 ...BACnetConstructedDataAccumulatorMaxPresValue.go |    8 +-
 ...BACnetConstructedDataAccumulatorMinPresValue.go |    8 +-
 .../model/BACnetConstructedDataAckRequired.go      |    8 +-
 .../model/BACnetConstructedDataAckedTransitions.go |    8 +-
 .../readwrite/model/BACnetConstructedDataAction.go |   10 +-
 .../model/BACnetConstructedDataActionText.go       |   10 +-
 .../model/BACnetConstructedDataActivationTime.go   |    8 +-
 ...netConstructedDataActiveAuthenticationPolicy.go |    8 +-
 ...onstructedDataActiveCOVMultipleSubscriptions.go |    8 +-
 .../BACnetConstructedDataActiveCOVSubscriptions.go |    8 +-
 .../model/BACnetConstructedDataActiveText.go       |    8 +-
 .../model/BACnetConstructedDataActiveVTSessions.go |    8 +-
 .../model/BACnetConstructedDataActualShedLevel.go  |    8 +-
 .../model/BACnetConstructedDataAdjustValue.go      |    8 +-
 .../model/BACnetConstructedDataAlarmValue.go       |    8 +-
 .../model/BACnetConstructedDataAlarmValues.go      |   10 +-
 .../BACnetConstructedDataAlertEnrollmentAll.go     |    6 +-
 ...etConstructedDataAlertEnrollmentPresentValue.go |    8 +-
 .../model/BACnetConstructedDataAlignIntervals.go   |    8 +-
 .../BACnetConstructedDataAllWritesSuccessful.go    |    8 +-
 .../BACnetConstructedDataAllowGroupDelayInhibit.go |    8 +-
 .../model/BACnetConstructedDataAnalogInputAll.go   |    6 +-
 ...CnetConstructedDataAnalogInputFaultHighLimit.go |    8 +-
 ...ACnetConstructedDataAnalogInputFaultLowLimit.go |    8 +-
 ...CnetConstructedDataAnalogInputInterfaceValue.go |    8 +-
 ...BACnetConstructedDataAnalogInputMaxPresValue.go |    8 +-
 ...BACnetConstructedDataAnalogInputPresentValue.go |    8 +-
 .../model/BACnetConstructedDataAnalogOutputAll.go  |    6 +-
 ...netConstructedDataAnalogOutputInterfaceValue.go |    8 +-
 ...ACnetConstructedDataAnalogOutputMaxPresValue.go |    8 +-
 ...ACnetConstructedDataAnalogOutputPresentValue.go |    8 +-
 ...ConstructedDataAnalogOutputRelinquishDefault.go |    8 +-
 .../model/BACnetConstructedDataAnalogValueAll.go   |    6 +-
 ...CnetConstructedDataAnalogValueFaultHighLimit.go |    8 +-
 ...ACnetConstructedDataAnalogValueFaultLowLimit.go |    8 +-
 ...BACnetConstructedDataAnalogValueMaxPresValue.go |    8 +-
 ...BACnetConstructedDataAnalogValuePresentValue.go |    8 +-
 ...tConstructedDataAnalogValueRelinquishDefault.go |    8 +-
 ...netConstructedDataApplicationSoftwareVersion.go |    8 +-
 .../model/BACnetConstructedDataArchive.go          |    8 +-
 .../BACnetConstructedDataAssignedAccessRights.go   |   10 +-
 .../BACnetConstructedDataAssignedLandingCalls.go   |   10 +-
 .../model/BACnetConstructedDataAttemptedSamples.go |    8 +-
 .../BACnetConstructedDataAuthenticationFactors.go  |   10 +-
 ...ACnetConstructedDataAuthenticationPolicyList.go |   10 +-
 ...CnetConstructedDataAuthenticationPolicyNames.go |   10 +-
 .../BACnetConstructedDataAuthenticationStatus.go   |    8 +-
 ...BACnetConstructedDataAuthorizationExemptions.go |    8 +-
 .../BACnetConstructedDataAuthorizationMode.go      |    8 +-
 .../BACnetConstructedDataAutoSlaveDiscovery.go     |    8 +-
 .../model/BACnetConstructedDataAverageValue.go     |    8 +-
 .../model/BACnetConstructedDataAveragingAll.go     |    6 +-
 .../BACnetConstructedDataBACnetIPGlobalAddress.go  |    8 +-
 .../model/BACnetConstructedDataBACnetIPMode.go     |    8 +-
 ...ACnetConstructedDataBACnetIPMulticastAddress.go |    8 +-
 .../BACnetConstructedDataBACnetIPNATTraversal.go   |    8 +-
 .../model/BACnetConstructedDataBACnetIPUDPPort.go  |    8 +-
 .../model/BACnetConstructedDataBACnetIPv6Mode.go   |    8 +-
 ...netConstructedDataBACnetIPv6MulticastAddress.go |    8 +-
 .../BACnetConstructedDataBACnetIPv6UDPPort.go      |    8 +-
 ...CnetConstructedDataBBMDAcceptFDRegistrations.go |    8 +-
 ...onstructedDataBBMDBroadcastDistributionTable.go |    8 +-
 .../BACnetConstructedDataBBMDForeignDeviceTable.go |    8 +-
 .../BACnetConstructedDataBackupAndRestoreState.go  |    8 +-
 .../BACnetConstructedDataBackupFailureTimeout.go   |    8 +-
 .../BACnetConstructedDataBackupPreparationTime.go  |    8 +-
 ...ACnetConstructedDataBaseDeviceSecurityPolicy.go |    8 +-
 .../model/BACnetConstructedDataBelongsTo.go        |    8 +-
 .../readwrite/model/BACnetConstructedDataBias.go   |    8 +-
 .../model/BACnetConstructedDataBinaryInputAll.go   |    6 +-
 ...CnetConstructedDataBinaryInputInterfaceValue.go |    8 +-
 ...BACnetConstructedDataBinaryInputPresentValue.go |    8 +-
 ...BACnetConstructedDataBinaryLightingOutputAll.go |    6 +-
 ...tructedDataBinaryLightingOutputFeedbackValue.go |    8 +-
 ...structedDataBinaryLightingOutputPresentValue.go |    8 +-
 ...tedDataBinaryLightingOutputRelinquishDefault.go |    8 +-
 .../model/BACnetConstructedDataBinaryOutputAll.go  |    6 +-
 ...CnetConstructedDataBinaryOutputFeedbackValue.go |    8 +-
 ...netConstructedDataBinaryOutputInterfaceValue.go |    8 +-
 ...ACnetConstructedDataBinaryOutputPresentValue.go |    8 +-
 ...ConstructedDataBinaryOutputRelinquishDefault.go |    8 +-
 .../model/BACnetConstructedDataBinaryValueAll.go   |    6 +-
 ...BACnetConstructedDataBinaryValuePresentValue.go |    8 +-
 ...tConstructedDataBinaryValueRelinquishDefault.go |    8 +-
 .../model/BACnetConstructedDataBitMask.go          |    8 +-
 ...CnetConstructedDataBitStringValueAlarmValues.go |   10 +-
 ...netConstructedDataBitStringValuePresentValue.go |    8 +-
 ...nstructedDataBitStringValueRelinquishDefault.go |    8 +-
 .../model/BACnetConstructedDataBitText.go          |   10 +-
 .../BACnetConstructedDataBitstringValueAll.go      |    6 +-
 .../model/BACnetConstructedDataBlinkWarnEnable.go  |    8 +-
 .../model/BACnetConstructedDataBufferSize.go       |    8 +-
 .../model/BACnetConstructedDataCOVIncrement.go     |    8 +-
 .../model/BACnetConstructedDataCOVPeriod.go        |    8 +-
 ...CnetConstructedDataCOVResubscriptionInterval.go |    8 +-
 .../model/BACnetConstructedDataCOVUPeriod.go       |    8 +-
 .../model/BACnetConstructedDataCOVURecipients.go   |    8 +-
 .../model/BACnetConstructedDataCalendarAll.go      |    6 +-
 .../BACnetConstructedDataCalendarPresentValue.go   |    8 +-
 .../BACnetConstructedDataCarAssignedDirection.go   |    8 +-
 .../model/BACnetConstructedDataCarDoorCommand.go   |   10 +-
 .../model/BACnetConstructedDataCarDoorStatus.go    |   10 +-
 .../model/BACnetConstructedDataCarDoorText.go      |   10 +-
 .../model/BACnetConstructedDataCarDoorZone.go      |    8 +-
 .../model/BACnetConstructedDataCarDriveStatus.go   |    8 +-
 .../model/BACnetConstructedDataCarLoad.go          |    8 +-
 .../model/BACnetConstructedDataCarLoadUnits.go     |    8 +-
 .../model/BACnetConstructedDataCarMode.go          |    8 +-
 .../BACnetConstructedDataCarMovingDirection.go     |    8 +-
 .../model/BACnetConstructedDataCarPosition.go      |    8 +-
 .../BACnetConstructedDataChangeOfStateCount.go     |    8 +-
 .../BACnetConstructedDataChangeOfStateTime.go      |    8 +-
 .../model/BACnetConstructedDataChangesPending.go   |    8 +-
 .../model/BACnetConstructedDataChannelAll.go       |    6 +-
 ...tedDataChannelListOfObjectPropertyReferences.go |   10 +-
 .../model/BACnetConstructedDataChannelNumber.go    |    8 +-
 .../BACnetConstructedDataChannelPresentValue.go    |    8 +-
 ...nstructedDataCharacterStringValueAlarmValues.go |   10 +-
 ...nstructedDataCharacterStringValueFaultValues.go |   10 +-
 ...structedDataCharacterStringValuePresentValue.go |    8 +-
 ...tedDataCharacterStringValueRelinquishDefault.go |    8 +-
 ...BACnetConstructedDataCharacterstringValueAll.go |    6 +-
 .../BACnetConstructedDataClientCOVIncrement.go     |    8 +-
 .../model/BACnetConstructedDataCommand.go          |    8 +-
 .../model/BACnetConstructedDataCommandAction.go    |   10 +-
 .../model/BACnetConstructedDataCommandAll.go       |    6 +-
 .../model/BACnetConstructedDataCommandTimeArray.go |   10 +-
 .../BACnetConstructedDataConfigurationFiles.go     |   10 +-
 .../model/BACnetConstructedDataControlGroups.go    |   10 +-
 ...etConstructedDataControlledVariableReference.go |    8 +-
 ...BACnetConstructedDataControlledVariableUnits.go |    8 +-
 ...BACnetConstructedDataControlledVariableValue.go |    8 +-
 .../readwrite/model/BACnetConstructedDataCount.go  |    8 +-
 .../BACnetConstructedDataCountBeforeChange.go      |    8 +-
 .../model/BACnetConstructedDataCountChangeTime.go  |    8 +-
 .../BACnetConstructedDataCredentialDataInputAll.go |    6 +-
 ...nstructedDataCredentialDataInputPresentValue.go |    8 +-
 ...ConstructedDataCredentialDataInputUpdateTime.go |    8 +-
 .../BACnetConstructedDataCredentialDisable.go      |    8 +-
 .../model/BACnetConstructedDataCredentialStatus.go |    8 +-
 .../model/BACnetConstructedDataCredentials.go      |    8 +-
 .../BACnetConstructedDataCredentialsInZone.go      |    8 +-
 .../BACnetConstructedDataCurrentCommandPriority.go |    8 +-
 .../model/BACnetConstructedDataDatabaseRevision.go |    8 +-
 .../model/BACnetConstructedDataDateList.go         |    8 +-
 ...tConstructedDataDatePatternValuePresentValue.go |    8 +-
 ...tructedDataDatePatternValueRelinquishDefault.go |    8 +-
 ...structedDataDateTimePatternValuePresentValue.go |    8 +-
 ...tedDataDateTimePatternValueRelinquishDefault.go |    8 +-
 ...CnetConstructedDataDateTimeValuePresentValue.go |    8 +-
 ...onstructedDataDateTimeValueRelinquishDefault.go |    8 +-
 .../model/BACnetConstructedDataDateValueAll.go     |    6 +-
 .../BACnetConstructedDataDateValuePresentValue.go  |    8 +-
 ...netConstructedDataDateValueRelinquishDefault.go |    8 +-
 .../BACnetConstructedDataDatepatternValueAll.go    |    6 +-
 .../model/BACnetConstructedDataDatetimeValueAll.go |    6 +-
 ...BACnetConstructedDataDatetimepatternValueAll.go |    6 +-
 .../BACnetConstructedDataDaylightSavingsStatus.go  |    8 +-
 .../model/BACnetConstructedDataDaysRemaining.go    |    8 +-
 .../model/BACnetConstructedDataDeadband.go         |    8 +-
 .../model/BACnetConstructedDataDefaultFadeTime.go  |    8 +-
 .../model/BACnetConstructedDataDefaultRampRate.go  |    8 +-
 .../BACnetConstructedDataDefaultStepIncrement.go   |    8 +-
 ...onstructedDataDefaultSubordinateRelationship.go |    8 +-
 .../model/BACnetConstructedDataDefaultTimeout.go   |    8 +-
 ...BACnetConstructedDataDeployedProfileLocation.go |    8 +-
 .../BACnetConstructedDataDerivativeConstant.go     |    8 +-
 ...BACnetConstructedDataDerivativeConstantUnits.go |    8 +-
 .../model/BACnetConstructedDataDescription.go      |    8 +-
 .../BACnetConstructedDataDescriptionOfHalt.go      |    8 +-
 .../BACnetConstructedDataDeviceAddressBinding.go   |    8 +-
 .../model/BACnetConstructedDataDeviceAll.go        |    6 +-
 .../BACnetConstructedDataDeviceMaxInfoFrames.go    |    8 +-
 .../model/BACnetConstructedDataDeviceMaxMaster.go  |    8 +-
 .../model/BACnetConstructedDataDeviceType.go       |    8 +-
 .../model/BACnetConstructedDataDirectReading.go    |    8 +-
 ...BACnetConstructedDataDistributionKeyRevision.go |    8 +-
 .../model/BACnetConstructedDataDoNotHide.go        |    8 +-
 .../model/BACnetConstructedDataDoorAlarmState.go   |    8 +-
 .../BACnetConstructedDataDoorExtendedPulseTime.go  |    8 +-
 .../model/BACnetConstructedDataDoorMembers.go      |   10 +-
 .../BACnetConstructedDataDoorOpenTooLongTime.go    |    8 +-
 .../model/BACnetConstructedDataDoorPulseTime.go    |    8 +-
 .../model/BACnetConstructedDataDoorStatus.go       |    8 +-
 .../BACnetConstructedDataDoorUnlockDelayTime.go    |    8 +-
 .../model/BACnetConstructedDataDutyWindow.go       |    8 +-
 .../model/BACnetConstructedDataEffectivePeriod.go  |    8 +-
 .../model/BACnetConstructedDataEgressActive.go     |    8 +-
 .../model/BACnetConstructedDataEgressTime.go       |    8 +-
 .../BACnetConstructedDataElapsedActiveTime.go      |    8 +-
 .../model/BACnetConstructedDataElement.go          |   14 +-
 .../model/BACnetConstructedDataElevatorGroup.go    |    8 +-
 .../model/BACnetConstructedDataElevatorGroupAll.go |    6 +-
 ...CnetConstructedDataElevatorGroupGroupMembers.go |   10 +-
 .../readwrite/model/BACnetConstructedDataEnable.go |    8 +-
 .../model/BACnetConstructedDataEnergyMeter.go      |    8 +-
 .../model/BACnetConstructedDataEnergyMeterRef.go   |    8 +-
 .../model/BACnetConstructedDataEntryPoints.go      |    8 +-
 .../model/BACnetConstructedDataErrorLimit.go       |    8 +-
 .../model/BACnetConstructedDataEscalatorAll.go     |    6 +-
 .../BACnetConstructedDataEscalatorFaultSignals.go  |    8 +-
 .../model/BACnetConstructedDataEscalatorMode.go    |    8 +-
 .../BACnetConstructedDataEventAlgorithmInhibit.go  |    8 +-
 ...ACnetConstructedDataEventAlgorithmInhibitRef.go |    8 +-
 .../BACnetConstructedDataEventDetectionEnable.go   |    8 +-
 .../model/BACnetConstructedDataEventEnable.go      |    8 +-
 .../BACnetConstructedDataEventEnrollmentAll.go     |    6 +-
 .../model/BACnetConstructedDataEventLogAll.go      |    6 +-
 .../BACnetConstructedDataEventLogLogBuffer.go      |    8 +-
 .../BACnetConstructedDataEventMessageTexts.go      |   10 +-
 ...BACnetConstructedDataEventMessageTextsConfig.go |   10 +-
 .../model/BACnetConstructedDataEventParameters.go  |    8 +-
 .../model/BACnetConstructedDataEventState.go       |    8 +-
 .../model/BACnetConstructedDataEventTimeStamps.go  |   10 +-
 .../model/BACnetConstructedDataEventType.go        |    8 +-
 .../BACnetConstructedDataExceptionSchedule.go      |   10 +-
 .../model/BACnetConstructedDataExecutionDelay.go   |   10 +-
 .../model/BACnetConstructedDataExitPoints.go       |    8 +-
 .../BACnetConstructedDataExpectedShedLevel.go      |    8 +-
 .../model/BACnetConstructedDataExpirationTime.go   |    8 +-
 .../BACnetConstructedDataExtendedTimeEnable.go     |    8 +-
 .../model/BACnetConstructedDataFDBBMDAddress.go    |    8 +-
 .../BACnetConstructedDataFDSubscriptionLifetime.go |    8 +-
 .../BACnetConstructedDataFailedAttemptEvents.go    |    8 +-
 .../model/BACnetConstructedDataFailedAttempts.go   |    8 +-
 .../BACnetConstructedDataFailedAttemptsTime.go     |    8 +-
 .../model/BACnetConstructedDataFaultHighLimit.go   |    8 +-
 .../model/BACnetConstructedDataFaultLowLimit.go    |    8 +-
 .../model/BACnetConstructedDataFaultParameters.go  |    8 +-
 .../model/BACnetConstructedDataFaultSignals.go     |    8 +-
 .../model/BACnetConstructedDataFaultType.go        |    8 +-
 .../model/BACnetConstructedDataFaultValues.go      |   10 +-
 .../model/BACnetConstructedDataFileAccessMethod.go |    8 +-
 .../model/BACnetConstructedDataFileAll.go          |    6 +-
 .../model/BACnetConstructedDataFileRecordCount.go  |    8 +-
 .../model/BACnetConstructedDataFileSize.go         |    8 +-
 .../model/BACnetConstructedDataFileType.go         |    8 +-
 .../model/BACnetConstructedDataFirmwareRevision.go |    8 +-
 .../model/BACnetConstructedDataFloorText.go        |   10 +-
 .../model/BACnetConstructedDataFullDutyBaseline.go |    8 +-
 .../model/BACnetConstructedDataGlobalGroupAll.go   |    6 +-
 ...BACnetConstructedDataGlobalGroupGroupMembers.go |   10 +-
 ...BACnetConstructedDataGlobalGroupPresentValue.go |   10 +-
 .../model/BACnetConstructedDataGlobalIdentifier.go |    8 +-
 .../model/BACnetConstructedDataGroupAll.go         |    6 +-
 .../model/BACnetConstructedDataGroupID.go          |    8 +-
 .../model/BACnetConstructedDataGroupMemberNames.go |   10 +-
 .../model/BACnetConstructedDataGroupMembers.go     |   10 +-
 .../model/BACnetConstructedDataGroupMode.go        |    8 +-
 .../BACnetConstructedDataGroupPresentValue.go      |    8 +-
 .../model/BACnetConstructedDataHighLimit.go        |    8 +-
 .../model/BACnetConstructedDataHigherDeck.go       |    8 +-
 .../model/BACnetConstructedDataIPAddress.go        |    8 +-
 .../model/BACnetConstructedDataIPDHCPEnable.go     |    8 +-
 .../model/BACnetConstructedDataIPDHCPLeaseTime.go  |    8 +-
 ...ACnetConstructedDataIPDHCPLeaseTimeRemaining.go |    8 +-
 .../model/BACnetConstructedDataIPDHCPServer.go     |    8 +-
 .../model/BACnetConstructedDataIPDNSServer.go      |   10 +-
 .../model/BACnetConstructedDataIPDefaultGateway.go |    8 +-
 .../model/BACnetConstructedDataIPSubnetMask.go     |    8 +-
 .../model/BACnetConstructedDataIPv6Address.go      |    8 +-
 ...ACnetConstructedDataIPv6AutoAddressingEnable.go |    8 +-
 .../BACnetConstructedDataIPv6DHCPLeaseTime.go      |    8 +-
 ...netConstructedDataIPv6DHCPLeaseTimeRemaining.go |    8 +-
 .../model/BACnetConstructedDataIPv6DHCPServer.go   |    8 +-
 .../model/BACnetConstructedDataIPv6DNSServer.go    |   10 +-
 .../BACnetConstructedDataIPv6DefaultGateway.go     |    8 +-
 .../model/BACnetConstructedDataIPv6PrefixLength.go |    8 +-
 .../model/BACnetConstructedDataIPv6ZoneIndex.go    |    8 +-
 .../model/BACnetConstructedDataInProcess.go        |    8 +-
 .../model/BACnetConstructedDataInProgress.go       |    8 +-
 .../model/BACnetConstructedDataInactiveText.go     |    8 +-
 .../model/BACnetConstructedDataInitialTimeout.go   |    8 +-
 .../model/BACnetConstructedDataInputReference.go   |    8 +-
 .../model/BACnetConstructedDataInstallationID.go   |    8 +-
 .../model/BACnetConstructedDataInstanceOf.go       |    8 +-
 .../BACnetConstructedDataInstantaneousPower.go     |    8 +-
 .../model/BACnetConstructedDataIntegerValueAll.go  |    6 +-
 ...ACnetConstructedDataIntegerValueCOVIncrement.go |    8 +-
 .../BACnetConstructedDataIntegerValueDeadband.go   |    8 +-
 ...netConstructedDataIntegerValueFaultHighLimit.go |    8 +-
 ...CnetConstructedDataIntegerValueFaultLowLimit.go |    8 +-
 .../BACnetConstructedDataIntegerValueHighLimit.go  |    8 +-
 .../BACnetConstructedDataIntegerValueLowLimit.go   |    8 +-
 ...ACnetConstructedDataIntegerValueMaxPresValue.go |    8 +-
 ...ACnetConstructedDataIntegerValueMinPresValue.go |    8 +-
 ...ACnetConstructedDataIntegerValuePresentValue.go |    8 +-
 ...ConstructedDataIntegerValueRelinquishDefault.go |    8 +-
 .../BACnetConstructedDataIntegerValueResolution.go |    8 +-
 .../model/BACnetConstructedDataIntegralConstant.go |    8 +-
 .../BACnetConstructedDataIntegralConstantUnits.go  |    8 +-
 .../model/BACnetConstructedDataIntervalOffset.go   |    8 +-
 .../readwrite/model/BACnetConstructedDataIsUTC.go  |    8 +-
 .../model/BACnetConstructedDataKeySets.go          |   10 +-
 .../BACnetConstructedDataLandingCallControl.go     |    8 +-
 .../model/BACnetConstructedDataLandingCalls.go     |    8 +-
 .../BACnetConstructedDataLandingDoorStatus.go      |   10 +-
 .../BACnetConstructedDataLargeAnalogValueAll.go    |    6 +-
 ...tConstructedDataLargeAnalogValueCOVIncrement.go |    8 +-
 ...ACnetConstructedDataLargeAnalogValueDeadband.go |    8 +-
 ...onstructedDataLargeAnalogValueFaultHighLimit.go |    8 +-
 ...ConstructedDataLargeAnalogValueFaultLowLimit.go |    8 +-
 ...CnetConstructedDataLargeAnalogValueHighLimit.go |    8 +-
 ...ACnetConstructedDataLargeAnalogValueLowLimit.go |    8 +-
 ...tConstructedDataLargeAnalogValueMaxPresValue.go |    8 +-
 ...tConstructedDataLargeAnalogValueMinPresValue.go |    8 +-
 ...tConstructedDataLargeAnalogValuePresentValue.go |    8 +-
 ...tructedDataLargeAnalogValueRelinquishDefault.go |    8 +-
 ...netConstructedDataLargeAnalogValueResolution.go |    8 +-
 .../model/BACnetConstructedDataLastAccessEvent.go  |    8 +-
 .../model/BACnetConstructedDataLastAccessPoint.go  |    8 +-
 .../model/BACnetConstructedDataLastCommandTime.go  |    8 +-
 .../BACnetConstructedDataLastCredentialAdded.go    |    8 +-
 ...BACnetConstructedDataLastCredentialAddedTime.go |    8 +-
 .../BACnetConstructedDataLastCredentialRemoved.go  |    8 +-
 ...CnetConstructedDataLastCredentialRemovedTime.go |    8 +-
 .../model/BACnetConstructedDataLastKeyServer.go    |    8 +-
 .../model/BACnetConstructedDataLastNotifyRecord.go |    8 +-
 .../model/BACnetConstructedDataLastPriority.go     |    8 +-
 .../BACnetConstructedDataLastRestartReason.go      |    8 +-
 .../model/BACnetConstructedDataLastRestoreTime.go  |    8 +-
 .../model/BACnetConstructedDataLastStateChange.go  |    8 +-
 .../model/BACnetConstructedDataLastUseTime.go      |    8 +-
 .../BACnetConstructedDataLifeSafetyAlarmValues.go  |    8 +-
 ...netConstructedDataLifeSafetyPointAlarmValues.go |    8 +-
 .../BACnetConstructedDataLifeSafetyPointAll.go     |    6 +-
 ...netConstructedDataLifeSafetyPointFaultValues.go |    8 +-
 ...etConstructedDataLifeSafetyPointPresentValue.go |    8 +-
 ...CnetConstructedDataLifeSafetyZoneAlarmValues.go |    8 +-
 .../BACnetConstructedDataLifeSafetyZoneAll.go      |    6 +-
 ...CnetConstructedDataLifeSafetyZoneFaultValues.go |    8 +-
 ...tructedDataLifeSafetyZoneMaintenanceRequired.go |    8 +-
 ...netConstructedDataLifeSafetyZonePresentValue.go |    8 +-
 .../model/BACnetConstructedDataLiftAll.go          |    6 +-
 .../model/BACnetConstructedDataLiftFaultSignals.go |    8 +-
 .../model/BACnetConstructedDataLightingCommand.go  |    8 +-
 ...onstructedDataLightingCommandDefaultPriority.go |    8 +-
 .../BACnetConstructedDataLightingOutputAll.go      |    6 +-
 ...etConstructedDataLightingOutputFeedbackValue.go |    8 +-
 ...netConstructedDataLightingOutputPresentValue.go |    8 +-
 ...nstructedDataLightingOutputRelinquishDefault.go |    8 +-
 ...etConstructedDataLightingOutputTrackingValue.go |    8 +-
 .../model/BACnetConstructedDataLimitEnable.go      |    8 +-
 ...BACnetConstructedDataLimitMonitoringInterval.go |    8 +-
 .../model/BACnetConstructedDataLinkSpeed.go        |    8 +-
 .../BACnetConstructedDataLinkSpeedAutonegotiate.go |    8 +-
 .../model/BACnetConstructedDataLinkSpeeds.go       |   10 +-
 .../BACnetConstructedDataListOfGroupMembers.go     |    8 +-
 ...onstructedDataListOfObjectPropertyReferences.go |    8 +-
 .../model/BACnetConstructedDataLoadControlAll.go   |    6 +-
 ...BACnetConstructedDataLoadControlPresentValue.go |    8 +-
 .../model/BACnetConstructedDataLocalDate.go        |    8 +-
 .../BACnetConstructedDataLocalForwardingOnly.go    |    8 +-
 .../model/BACnetConstructedDataLocalTime.go        |    8 +-
 .../model/BACnetConstructedDataLocation.go         |    8 +-
 .../model/BACnetConstructedDataLockStatus.go       |    8 +-
 .../model/BACnetConstructedDataLockout.go          |    8 +-
 .../BACnetConstructedDataLockoutRelinquishTime.go  |    8 +-
 .../model/BACnetConstructedDataLogBuffer.go        |   10 +-
 ...BACnetConstructedDataLogDeviceObjectProperty.go |    8 +-
 .../model/BACnetConstructedDataLogInterval.go      |    8 +-
 .../model/BACnetConstructedDataLoggingObject.go    |    8 +-
 .../model/BACnetConstructedDataLoggingRecord.go    |    8 +-
 .../model/BACnetConstructedDataLoggingType.go      |    8 +-
 .../model/BACnetConstructedDataLoopAction.go       |    8 +-
 .../model/BACnetConstructedDataLoopAll.go          |    6 +-
 .../model/BACnetConstructedDataLoopPresentValue.go |    8 +-
 .../model/BACnetConstructedDataLowDiffLimit.go     |    8 +-
 .../model/BACnetConstructedDataLowLimit.go         |    8 +-
 .../model/BACnetConstructedDataLowerDeck.go        |    8 +-
 .../model/BACnetConstructedDataMACAddress.go       |    8 +-
 .../model/BACnetConstructedDataMachineRoomID.go    |    8 +-
 .../BACnetConstructedDataMaintenanceRequired.go    |    8 +-
 .../model/BACnetConstructedDataMakingCarCall.go    |   10 +-
 ...tConstructedDataManipulatedVariableReference.go |    8 +-
 ...CnetConstructedDataManualSlaveAddressBinding.go |    8 +-
 .../BACnetConstructedDataMaskedAlarmValues.go      |    8 +-
 .../BACnetConstructedDataMaxAPDULengthAccepted.go  |    8 +-
 .../model/BACnetConstructedDataMaxActualValue.go   |    8 +-
 .../BACnetConstructedDataMaxFailedAttempts.go      |    8 +-
 .../model/BACnetConstructedDataMaxInfoFrames.go    |    8 +-
 .../model/BACnetConstructedDataMaxMaster.go        |    8 +-
 .../model/BACnetConstructedDataMaxPresValue.go     |    8 +-
 .../BACnetConstructedDataMaxSegmentsAccepted.go    |    8 +-
 .../model/BACnetConstructedDataMaximumOutput.go    |    8 +-
 .../model/BACnetConstructedDataMaximumValue.go     |    8 +-
 .../BACnetConstructedDataMaximumValueTimestamp.go  |    8 +-
 .../model/BACnetConstructedDataMemberOf.go         |    8 +-
 .../BACnetConstructedDataMemberStatusFlags.go      |    8 +-
 .../model/BACnetConstructedDataMembers.go          |    8 +-
 .../model/BACnetConstructedDataMinActualValue.go   |    8 +-
 .../model/BACnetConstructedDataMinPresValue.go     |    8 +-
 .../model/BACnetConstructedDataMinimumOffTime.go   |    8 +-
 .../model/BACnetConstructedDataMinimumOnTime.go    |    8 +-
 .../model/BACnetConstructedDataMinimumOutput.go    |    8 +-
 .../model/BACnetConstructedDataMinimumValue.go     |    8 +-
 .../BACnetConstructedDataMinimumValueTimestamp.go  |    8 +-
 .../readwrite/model/BACnetConstructedDataMode.go   |    8 +-
 .../model/BACnetConstructedDataModelName.go        |    8 +-
 .../model/BACnetConstructedDataModificationDate.go |    8 +-
 ...netConstructedDataMultiStateInputAlarmValues.go |    8 +-
 .../BACnetConstructedDataMultiStateInputAll.go     |    6 +-
 ...netConstructedDataMultiStateInputFaultValues.go |    8 +-
 ...ConstructedDataMultiStateInputInterfaceValue.go |    8 +-
 .../BACnetConstructedDataMultiStateOutputAll.go    |    6 +-
 ...ConstructedDataMultiStateOutputFeedbackValue.go |    8 +-
 ...onstructedDataMultiStateOutputInterfaceValue.go |    8 +-
 ...tructedDataMultiStateOutputRelinquishDefault.go |    8 +-
 ...netConstructedDataMultiStateValueAlarmValues.go |    8 +-
 .../BACnetConstructedDataMultiStateValueAll.go     |    6 +-
 ...netConstructedDataMultiStateValueFaultValues.go |    8 +-
 ...structedDataMultiStateValueRelinquishDefault.go |    8 +-
 .../model/BACnetConstructedDataMusterPoint.go      |    8 +-
 .../BACnetConstructedDataNegativeAccessRules.go    |   10 +-
 ...ConstructedDataNetworkAccessSecurityPolicies.go |   10 +-
 .../BACnetConstructedDataNetworkInterfaceName.go   |    8 +-
 .../model/BACnetConstructedDataNetworkNumber.go    |    8 +-
 .../BACnetConstructedDataNetworkNumberQuality.go   |    8 +-
 .../model/BACnetConstructedDataNetworkPortAll.go   |    6 +-
 ...ACnetConstructedDataNetworkPortMaxInfoFrames.go |    8 +-
 .../BACnetConstructedDataNetworkPortMaxMaster.go   |    8 +-
 .../BACnetConstructedDataNetworkSecurityAll.go     |    6 +-
 .../model/BACnetConstructedDataNetworkType.go      |    8 +-
 .../BACnetConstructedDataNextStoppingFloor.go      |    8 +-
 .../model/BACnetConstructedDataNodeSubtype.go      |    8 +-
 .../model/BACnetConstructedDataNodeType.go         |    8 +-
 .../BACnetConstructedDataNotificationClass.go      |    8 +-
 .../BACnetConstructedDataNotificationClassAll.go   |    6 +-
 ...ACnetConstructedDataNotificationForwarderAll.go |    6 +-
 .../BACnetConstructedDataNotificationThreshold.go  |    8 +-
 .../model/BACnetConstructedDataNotifyType.go       |    8 +-
 .../BACnetConstructedDataNumberOfAPDURetries.go    |    8 +-
 ...onstructedDataNumberOfAuthenticationPolicies.go |    8 +-
 .../model/BACnetConstructedDataNumberOfStates.go   |    8 +-
 .../model/BACnetConstructedDataObjectIdentifier.go |    8 +-
 .../model/BACnetConstructedDataObjectList.go       |   10 +-
 .../model/BACnetConstructedDataObjectName.go       |    8 +-
 ...BACnetConstructedDataObjectPropertyReference.go |    8 +-
 .../model/BACnetConstructedDataObjectType.go       |    8 +-
 .../model/BACnetConstructedDataOccupancyCount.go   |    8 +-
 .../BACnetConstructedDataOccupancyCountAdjust.go   |    8 +-
 .../BACnetConstructedDataOccupancyCountEnable.go   |    8 +-
 .../BACnetConstructedDataOccupancyLowerLimit.go    |    8 +-
 ...etConstructedDataOccupancyLowerLimitEnforced.go |    8 +-
 .../model/BACnetConstructedDataOccupancyState.go   |    8 +-
 .../BACnetConstructedDataOccupancyUpperLimit.go    |    8 +-
 ...etConstructedDataOccupancyUpperLimitEnforced.go |    8 +-
 ...tConstructedDataOctetStringValuePresentValue.go |    8 +-
 ...tructedDataOctetStringValueRelinquishDefault.go |    8 +-
 .../BACnetConstructedDataOctetstringValueAll.go    |    6 +-
 .../BACnetConstructedDataOperationDirection.go     |    8 +-
 .../BACnetConstructedDataOperationExpected.go      |    8 +-
 .../model/BACnetConstructedDataOptional.go         |    6 +-
 .../model/BACnetConstructedDataOutOfService.go     |    8 +-
 .../model/BACnetConstructedDataOutputUnits.go      |    8 +-
 .../BACnetConstructedDataPacketReorderTime.go      |    8 +-
 .../model/BACnetConstructedDataPassbackMode.go     |    8 +-
 .../model/BACnetConstructedDataPassbackTimeout.go  |    8 +-
 .../model/BACnetConstructedDataPassengerAlarm.go   |    8 +-
 .../model/BACnetConstructedDataPolarity.go         |    8 +-
 .../model/BACnetConstructedDataPortFilter.go       |   10 +-
 .../BACnetConstructedDataPositiveAccessRules.go    |   10 +-
 ...BACnetConstructedDataPositiveIntegerValueAll.go |    6 +-
 ...structedDataPositiveIntegerValueCOVIncrement.go |    8 +-
 ...tConstructedDataPositiveIntegerValueDeadband.go |    8 +-
 ...ructedDataPositiveIntegerValueFaultHighLimit.go |    8 +-
 ...tructedDataPositiveIntegerValueFaultLowLimit.go |    8 +-
 ...ConstructedDataPositiveIntegerValueHighLimit.go |    8 +-
 ...tConstructedDataPositiveIntegerValueLowLimit.go |    8 +-
 ...structedDataPositiveIntegerValueMaxPresValue.go |    8 +-
 ...structedDataPositiveIntegerValueMinPresValue.go |    8 +-
 ...tedDataPositiveIntegerValueRelinquishDefault.go |    8 +-
 ...onstructedDataPositiveIntegerValueResolution.go |    8 +-
 .../readwrite/model/BACnetConstructedDataPower.go  |    8 +-
 .../model/BACnetConstructedDataPowerMode.go        |    8 +-
 .../model/BACnetConstructedDataPrescale.go         |    8 +-
 .../model/BACnetConstructedDataPresentValue.go     |    8 +-
 .../model/BACnetConstructedDataPriority.go         |   10 +-
 .../model/BACnetConstructedDataPriorityArray.go    |    8 +-
 .../BACnetConstructedDataPriorityForWriting.go     |    8 +-
 .../BACnetConstructedDataProcessIdentifier.go      |    8 +-
 ...BACnetConstructedDataProcessIdentifierFilter.go |    8 +-
 .../model/BACnetConstructedDataProfileLocation.go  |    8 +-
 .../model/BACnetConstructedDataProfileName.go      |    8 +-
 .../model/BACnetConstructedDataProgramAll.go       |    6 +-
 .../model/BACnetConstructedDataProgramChange.go    |    8 +-
 .../model/BACnetConstructedDataProgramLocation.go  |    8 +-
 .../model/BACnetConstructedDataProgramState.go     |    8 +-
 .../model/BACnetConstructedDataPropertyList.go     |   10 +-
 .../BACnetConstructedDataProportionalConstant.go   |    8 +-
 ...CnetConstructedDataProportionalConstantUnits.go |    8 +-
 .../model/BACnetConstructedDataProtocolLevel.go    |    8 +-
 ...tConstructedDataProtocolObjectTypesSupported.go |    8 +-
 .../model/BACnetConstructedDataProtocolRevision.go |    8 +-
 ...CnetConstructedDataProtocolServicesSupported.go |    8 +-
 .../model/BACnetConstructedDataProtocolVersion.go  |    8 +-
 ...CnetConstructedDataPulseConverterAdjustValue.go |    8 +-
 .../BACnetConstructedDataPulseConverterAll.go      |    6 +-
 ...netConstructedDataPulseConverterPresentValue.go |    8 +-
 .../model/BACnetConstructedDataPulseRate.go        |    8 +-
 .../model/BACnetConstructedDataReadOnly.go         |    8 +-
 .../model/BACnetConstructedDataReasonForDisable.go |    8 +-
 .../model/BACnetConstructedDataReasonForHalt.go    |    8 +-
 .../model/BACnetConstructedDataRecipientList.go    |    8 +-
 .../model/BACnetConstructedDataRecordCount.go      |    8 +-
 ...ACnetConstructedDataRecordsSinceNotification.go |    8 +-
 .../model/BACnetConstructedDataReferencePort.go    |    8 +-
 .../BACnetConstructedDataRegisteredCarCall.go      |   10 +-
 .../model/BACnetConstructedDataReliability.go      |    8 +-
 ...tConstructedDataReliabilityEvaluationInhibit.go |    8 +-
 .../BACnetConstructedDataRelinquishDefault.go      |    8 +-
 .../model/BACnetConstructedDataRepresents.go       |    8 +-
 .../BACnetConstructedDataRequestedShedLevel.go     |    8 +-
 ...BACnetConstructedDataRequestedUpdateInterval.go |    8 +-
 .../model/BACnetConstructedDataRequired.go         |    6 +-
 .../model/BACnetConstructedDataResolution.go       |    8 +-
 ...ConstructedDataRestartNotificationRecipients.go |    8 +-
 .../BACnetConstructedDataRestoreCompletionTime.go  |    8 +-
 .../BACnetConstructedDataRestorePreparationTime.go |    8 +-
 .../model/BACnetConstructedDataRoutingTable.go     |    8 +-
 .../readwrite/model/BACnetConstructedDataScale.go  |    8 +-
 .../model/BACnetConstructedDataScaleFactor.go      |    8 +-
 .../model/BACnetConstructedDataScheduleAll.go      |    6 +-
 .../model/BACnetConstructedDataScheduleDefault.go  |    8 +-
 .../BACnetConstructedDataSchedulePresentValue.go   |    8 +-
 .../model/BACnetConstructedDataSecuredStatus.go    |    8 +-
 .../BACnetConstructedDataSecurityPDUTimeout.go     |    8 +-
 .../BACnetConstructedDataSecurityTimeWindow.go     |    8 +-
 .../BACnetConstructedDataSegmentationSupported.go  |    8 +-
 .../model/BACnetConstructedDataSerialNumber.go     |    8 +-
 .../model/BACnetConstructedDataSetpoint.go         |    8 +-
 .../BACnetConstructedDataSetpointReference.go      |    8 +-
 .../model/BACnetConstructedDataSetting.go          |    8 +-
 .../model/BACnetConstructedDataShedDuration.go     |    8 +-
 .../BACnetConstructedDataShedLevelDescriptions.go  |   10 +-
 .../model/BACnetConstructedDataShedLevels.go       |   10 +-
 .../model/BACnetConstructedDataSilenced.go         |    8 +-
 .../BACnetConstructedDataSlaveAddressBinding.go    |    8 +-
 .../model/BACnetConstructedDataSlaveProxyEnable.go |    8 +-
 .../model/BACnetConstructedDataStartTime.go        |    8 +-
 .../BACnetConstructedDataStateChangeValues.go      |   10 +-
 .../model/BACnetConstructedDataStateDescription.go |    8 +-
 .../model/BACnetConstructedDataStateText.go        |   10 +-
 .../model/BACnetConstructedDataStatusFlags.go      |    8 +-
 .../model/BACnetConstructedDataStopTime.go         |    8 +-
 .../model/BACnetConstructedDataStopWhenFull.go     |    8 +-
 .../model/BACnetConstructedDataStrikeCount.go      |    8 +-
 .../BACnetConstructedDataStructuredObjectList.go   |   10 +-
 .../BACnetConstructedDataStructuredViewAll.go      |    6 +-
 .../BACnetConstructedDataSubordinateAnnotations.go |   10 +-
 .../model/BACnetConstructedDataSubordinateList.go  |   10 +-
 .../BACnetConstructedDataSubordinateNodeTypes.go   |   10 +-
 ...ACnetConstructedDataSubordinateRelationships.go |   10 +-
 .../model/BACnetConstructedDataSubordinateTags.go  |   10 +-
 .../BACnetConstructedDataSubscribedRecipients.go   |    8 +-
 .../BACnetConstructedDataSupportedFormatClasses.go |   10 +-
 .../model/BACnetConstructedDataSupportedFormats.go |   10 +-
 ...etConstructedDataSupportedSecurityAlgorithms.go |    8 +-
 .../model/BACnetConstructedDataSystemStatus.go     |    8 +-
 .../readwrite/model/BACnetConstructedDataTags.go   |   10 +-
 .../model/BACnetConstructedDataThreatAuthority.go  |    8 +-
 .../model/BACnetConstructedDataThreatLevel.go      |    8 +-
 .../model/BACnetConstructedDataTimeDelay.go        |    8 +-
 .../model/BACnetConstructedDataTimeDelayNormal.go  |    8 +-
 .../BACnetConstructedDataTimeOfActiveTimeReset.go  |    8 +-
 .../BACnetConstructedDataTimeOfDeviceRestart.go    |    8 +-
 .../BACnetConstructedDataTimeOfStateCountReset.go  |    8 +-
 .../BACnetConstructedDataTimeOfStrikeCountReset.go |    8 +-
 ...tConstructedDataTimePatternValuePresentValue.go |    8 +-
 ...tructedDataTimePatternValueRelinquishDefault.go |    8 +-
 ...etConstructedDataTimeSynchronizationInterval.go |    8 +-
 ...ConstructedDataTimeSynchronizationRecipients.go |    8 +-
 .../model/BACnetConstructedDataTimeValueAll.go     |    6 +-
 .../BACnetConstructedDataTimeValuePresentValue.go  |    8 +-
 ...netConstructedDataTimeValueRelinquishDefault.go |    8 +-
 .../BACnetConstructedDataTimepatternValueAll.go    |    6 +-
 .../model/BACnetConstructedDataTimerAlarmValues.go |    8 +-
 .../model/BACnetConstructedDataTimerAll.go         |    6 +-
 .../BACnetConstructedDataTimerMaxPresValue.go      |    8 +-
 .../BACnetConstructedDataTimerMinPresValue.go      |    8 +-
 .../model/BACnetConstructedDataTimerResolution.go  |    8 +-
 .../model/BACnetConstructedDataTimerRunning.go     |    8 +-
 .../model/BACnetConstructedDataTimerState.go       |    8 +-
 .../model/BACnetConstructedDataTotalRecordCount.go |    8 +-
 .../model/BACnetConstructedDataTraceFlag.go        |    8 +-
 .../model/BACnetConstructedDataTrackingValue.go    |    8 +-
 ...tConstructedDataTransactionNotificationClass.go |    8 +-
 .../model/BACnetConstructedDataTransition.go       |    8 +-
 .../model/BACnetConstructedDataTrendLogAll.go      |    6 +-
 .../BACnetConstructedDataTrendLogLogBuffer.go      |    8 +-
 ...nstructedDataTrendLogLogDeviceObjectProperty.go |    8 +-
 .../BACnetConstructedDataTrendLogMultipleAll.go    |    6 +-
 ...CnetConstructedDataTrendLogMultipleLogBuffer.go |    8 +-
 ...dDataTrendLogMultipleLogDeviceObjectProperty.go |   10 +-
 .../model/BACnetConstructedDataTrigger.go          |    8 +-
 .../model/BACnetConstructedDataUTCOffset.go        |    8 +-
 ...structedDataUTCTimeSynchronizationRecipients.go |    8 +-
 .../readwrite/model/BACnetConstructedDataUnits.go  |    8 +-
 .../model/BACnetConstructedDataUnspecified.go      |   10 +-
 .../model/BACnetConstructedDataUpdateInterval.go   |    8 +-
 .../BACnetConstructedDataUpdateKeySetTimeout.go    |    8 +-
 .../model/BACnetConstructedDataUpdateTime.go       |    8 +-
 .../BACnetConstructedDataUserExternalIdentifier.go |    8 +-
 ...ACnetConstructedDataUserInformationReference.go |    8 +-
 .../model/BACnetConstructedDataUserName.go         |    8 +-
 .../model/BACnetConstructedDataUserType.go         |    8 +-
 .../model/BACnetConstructedDataUsesRemaining.go    |    8 +-
 .../BACnetConstructedDataVTClassesSupported.go     |    8 +-
 .../model/BACnetConstructedDataValidSamples.go     |    8 +-
 .../BACnetConstructedDataValueBeforeChange.go      |    8 +-
 .../model/BACnetConstructedDataValueChangeTime.go  |    8 +-
 .../model/BACnetConstructedDataValueSet.go         |    8 +-
 .../model/BACnetConstructedDataValueSource.go      |    8 +-
 .../model/BACnetConstructedDataValueSourceArray.go |   10 +-
 .../model/BACnetConstructedDataVarianceValue.go    |    8 +-
 .../model/BACnetConstructedDataVendorIdentifier.go |    8 +-
 .../model/BACnetConstructedDataVendorName.go       |    8 +-
 .../model/BACnetConstructedDataVerificationTime.go |    8 +-
 .../BACnetConstructedDataVirtualMACAddressTable.go |    8 +-
 .../model/BACnetConstructedDataWeeklySchedule.go   |   10 +-
 .../model/BACnetConstructedDataWindowInterval.go   |    8 +-
 .../model/BACnetConstructedDataWindowSamples.go    |    8 +-
 .../model/BACnetConstructedDataWriteStatus.go      |    8 +-
 .../model/BACnetConstructedDataZoneFrom.go         |    8 +-
 .../model/BACnetConstructedDataZoneMembers.go      |    8 +-
 .../readwrite/model/BACnetConstructedDataZoneTo.go |    8 +-
 .../bacnetip/readwrite/model/BACnetContextTag.go   |   37 +-
 .../readwrite/model/BACnetContextTagBitString.go   |    8 +-
 .../readwrite/model/BACnetContextTagBoolean.go     |    8 +-
 .../model/BACnetContextTagCharacterString.go       |    8 +-
 .../readwrite/model/BACnetContextTagDate.go        |    8 +-
 .../readwrite/model/BACnetContextTagDouble.go      |    8 +-
 .../readwrite/model/BACnetContextTagEnumerated.go  |    8 +-
 .../readwrite/model/BACnetContextTagNull.go        |    6 +-
 .../model/BACnetContextTagObjectIdentifier.go      |    8 +-
 .../readwrite/model/BACnetContextTagOctetString.go |    8 +-
 .../readwrite/model/BACnetContextTagReal.go        |    8 +-
 .../model/BACnetContextTagSignedInteger.go         |    8 +-
 .../readwrite/model/BACnetContextTagTime.go        |    8 +-
 .../readwrite/model/BACnetContextTagUnknown.go     |    6 +-
 .../model/BACnetContextTagUnsignedInteger.go       |    8 +-
 .../model/BACnetCredentialAuthenticationFactor.go  |   10 +-
 .../readwrite/model/BACnetDailySchedule.go         |   12 +-
 .../bacnetip/readwrite/model/BACnetDataType.go     |    6 +-
 .../bacnetip/readwrite/model/BACnetDateRange.go    |   10 +-
 .../readwrite/model/BACnetDateRangeEnclosed.go     |   12 +-
 .../bacnetip/readwrite/model/BACnetDateTime.go     |   10 +-
 .../readwrite/model/BACnetDateTimeEnclosed.go      |   12 +-
 .../bacnetip/readwrite/model/BACnetDaysOfWeek.go   |    6 +-
 .../readwrite/model/BACnetDaysOfWeekTagged.go      |   10 +-
 .../bacnetip/readwrite/model/BACnetDestination.go  |   20 +-
 .../model/BACnetDeviceObjectPropertyReference.go   |   14 +-
 .../BACnetDeviceObjectPropertyReferenceEnclosed.go |   12 +-
 .../readwrite/model/BACnetDeviceObjectReference.go |   10 +-
 .../model/BACnetDeviceObjectReferenceEnclosed.go   |   12 +-
 .../bacnetip/readwrite/model/BACnetDeviceStatus.go |    6 +-
 .../readwrite/model/BACnetDeviceStatusTagged.go    |    8 +-
 .../readwrite/model/BACnetDoorAlarmState.go        |    6 +-
 .../readwrite/model/BACnetDoorAlarmStateTagged.go  |    8 +-
 .../readwrite/model/BACnetDoorSecuredStatus.go     |    6 +-
 .../model/BACnetDoorSecuredStatusTagged.go         |    8 +-
 .../bacnetip/readwrite/model/BACnetDoorStatus.go   |    6 +-
 .../readwrite/model/BACnetDoorStatusTagged.go      |    8 +-
 .../bacnetip/readwrite/model/BACnetDoorValue.go    |    6 +-
 .../readwrite/model/BACnetDoorValueTagged.go       |    8 +-
 .../readwrite/model/BACnetEngineeringUnits.go      |    6 +-
 .../model/BACnetEngineeringUnitsTagged.go          |    8 +-
 .../bacnetip/readwrite/model/BACnetError.go        |   23 +-
 .../bacnetip/readwrite/model/BACnetErrorGeneral.go |    8 +-
 .../readwrite/model/BACnetEscalatorFault.go        |    6 +-
 .../readwrite/model/BACnetEscalatorFaultTagged.go  |    8 +-
 .../readwrite/model/BACnetEscalatorMode.go         |    6 +-
 .../readwrite/model/BACnetEscalatorModeTagged.go   |    8 +-
 .../model/BACnetEscalatorOperationDirection.go     |    6 +-
 .../BACnetEscalatorOperationDirectionTagged.go     |    8 +-
 .../readwrite/model/BACnetEventLogRecord.go        |   10 +-
 .../model/BACnetEventLogRecordLogDatum.go          |   19 +-
 .../model/BACnetEventLogRecordLogDatumLogStatus.go |    8 +-
 .../BACnetEventLogRecordLogDatumNotification.go    |   12 +-
 .../BACnetEventLogRecordLogDatumTimeChange.go      |    8 +-
 .../model/BACnetEventNotificationSubscription.go   |   14 +-
 .../readwrite/model/BACnetEventParameter.go        |   47 +-
 .../model/BACnetEventParameterAccessEvent.go       |   14 +-
 ...tEventParameterAccessEventListOfAccessEvents.go |   12 +-
 .../model/BACnetEventParameterBufferReady.go       |   14 +-
 .../model/BACnetEventParameterChangeOfBitstring.go |   16 +-
 ...ameterChangeOfBitstringListOfBitstringValues.go |   12 +-
 .../BACnetEventParameterChangeOfCharacterString.go |   14 +-
 ...eterChangeOfCharacterStringListOfAlarmValues.go |   12 +-
 .../BACnetEventParameterChangeOfDiscreteValue.go   |   12 +-
 .../BACnetEventParameterChangeOfLifeSavety.go      |   18 +-
 ...ParameterChangeOfLifeSavetyListOfAlarmValues.go |   12 +-
 ...hangeOfLifeSavetyListOfLifeSavetyAlarmValues.go |   12 +-
 .../model/BACnetEventParameterChangeOfState.go     |   14 +-
 ...ACnetEventParameterChangeOfStateListOfValues.go |   12 +-
 .../BACnetEventParameterChangeOfStatusFlags.go     |   14 +-
 .../model/BACnetEventParameterChangeOfTimer.go     |   16 +-
 .../BACnetEventParameterChangeOfTimerAlarmValue.go |   12 +-
 .../model/BACnetEventParameterChangeOfValue.go     |   14 +-
 ...BACnetEventParameterChangeOfValueCivCriteria.go |   17 +-
 ...ventParameterChangeOfValueCivCriteriaBitmask.go |    8 +-
 ...fValueCivCriteriaReferencedPropertyIncrement.go |    8 +-
 .../model/BACnetEventParameterCommandFailure.go    |   14 +-
 .../model/BACnetEventParameterDoubleOutOfRange.go  |   18 +-
 .../model/BACnetEventParameterExtended.go          |   16 +-
 .../BACnetEventParameterExtendedParameters.go      |   40 +-
 .../model/BACnetEventParameterFloatingLimit.go     |   20 +-
 .../readwrite/model/BACnetEventParameterNone.go    |    8 +-
 .../model/BACnetEventParameterOutOfRange.go        |   18 +-
 .../model/BACnetEventParameterSignedOutOfRange.go  |   18 +-
 .../BACnetEventParameterUnsignedOutOfRange.go      |   18 +-
 .../model/BACnetEventParameterUnsignedRange.go     |   16 +-
 .../readwrite/model/BACnetEventPriorities.go       |   16 +-
 .../bacnetip/readwrite/model/BACnetEventState.go   |    6 +-
 .../readwrite/model/BACnetEventStateTagged.go      |    8 +-
 .../readwrite/model/BACnetEventSummariesList.go    |   12 +-
 .../bacnetip/readwrite/model/BACnetEventSummary.go |   20 +-
 .../readwrite/model/BACnetEventTimestamps.go       |   12 +-
 .../model/BACnetEventTimestampsEnclosed.go         |   12 +-
 .../readwrite/model/BACnetEventTransitionBits.go   |    6 +-
 .../model/BACnetEventTransitionBitsTagged.go       |   10 +-
 .../bacnetip/readwrite/model/BACnetEventType.go    |    6 +-
 .../readwrite/model/BACnetEventTypeTagged.go       |    8 +-
 .../readwrite/model/BACnetFaultParameter.go        |   25 +-
 .../BACnetFaultParameterFaultCharacterString.go    |   12 +-
 ...rameterFaultCharacterStringListOfFaultValues.go |   12 +-
 .../model/BACnetFaultParameterFaultExtended.go     |   16 +-
 .../BACnetFaultParameterFaultExtendedParameters.go |   12 +-
 ...etFaultParameterFaultExtendedParametersEntry.go |   37 +-
 ...rameterFaultExtendedParametersEntryBitString.go |    8 +-
 ...ParameterFaultExtendedParametersEntryBoolean.go |    8 +-
 ...rFaultExtendedParametersEntryCharacterString.go |    8 +-
 ...ultParameterFaultExtendedParametersEntryDate.go |    8 +-
 ...tParameterFaultExtendedParametersEntryDouble.go |    8 +-
 ...ameterFaultExtendedParametersEntryEnumerated.go |    8 +-
 ...ParameterFaultExtendedParametersEntryInteger.go |    8 +-
 ...ultParameterFaultExtendedParametersEntryNull.go |    8 +-
 ...FaultExtendedParametersEntryObjectidentifier.go |    8 +-
 ...meterFaultExtendedParametersEntryOctetString.go |    8 +-
 ...ultParameterFaultExtendedParametersEntryReal.go |    8 +-
 ...rameterFaultExtendedParametersEntryReference.go |    8 +-
 ...ultParameterFaultExtendedParametersEntryTime.go |    8 +-
 ...arameterFaultExtendedParametersEntryUnsigned.go |    8 +-
 .../model/BACnetFaultParameterFaultLifeSafety.go   |   14 +-
 ...ultParameterFaultLifeSafetyListOfFaultValues.go |   12 +-
 .../model/BACnetFaultParameterFaultListed.go       |   12 +-
 .../model/BACnetFaultParameterFaultOutOfRange.go   |   14 +-
 ...tFaultParameterFaultOutOfRangeMaxNormalValue.go |   21 +-
 ...ParameterFaultOutOfRangeMaxNormalValueDouble.go |    8 +-
 ...arameterFaultOutOfRangeMaxNormalValueInteger.go |    8 +-
 ...ltParameterFaultOutOfRangeMaxNormalValueReal.go |    8 +-
 ...rameterFaultOutOfRangeMaxNormalValueUnsigned.go |    8 +-
 ...tFaultParameterFaultOutOfRangeMinNormalValue.go |   21 +-
 ...ParameterFaultOutOfRangeMinNormalValueDouble.go |    8 +-
 ...arameterFaultOutOfRangeMinNormalValueInteger.go |    8 +-
 ...ltParameterFaultOutOfRangeMinNormalValueReal.go |    8 +-
 ...rameterFaultOutOfRangeMinNormalValueUnsigned.go |    8 +-
 .../model/BACnetFaultParameterFaultState.go        |   12 +-
 ...netFaultParameterFaultStateListOfFaultValues.go |   12 +-
 .../model/BACnetFaultParameterFaultStatusFlags.go  |   12 +-
 .../readwrite/model/BACnetFaultParameterNone.go    |    8 +-
 .../bacnetip/readwrite/model/BACnetFaultType.go    |    6 +-
 .../readwrite/model/BACnetFaultTypeTagged.go       |    8 +-
 .../readwrite/model/BACnetFileAccessMethod.go      |    6 +-
 .../model/BACnetFileAccessMethodTagged.go          |    8 +-
 .../readwrite/model/BACnetGroupChannelValue.go     |   12 +-
 .../readwrite/model/BACnetGroupChannelValueList.go |   12 +-
 .../bacnetip/readwrite/model/BACnetHostAddress.go  |   15 +-
 .../readwrite/model/BACnetHostAddressEnclosed.go   |   12 +-
 .../readwrite/model/BACnetHostAddressIpAddress.go  |    8 +-
 .../readwrite/model/BACnetHostAddressName.go       |    8 +-
 .../readwrite/model/BACnetHostAddressNull.go       |    8 +-
 .../bacnetip/readwrite/model/BACnetHostNPort.go    |   10 +-
 .../readwrite/model/BACnetHostNPortEnclosed.go     |   12 +-
 .../bacnetip/readwrite/model/BACnetIPMode.go       |    6 +-
 .../bacnetip/readwrite/model/BACnetIPModeTagged.go |    8 +-
 .../readwrite/model/BACnetKeyIdentifier.go         |   10 +-
 .../readwrite/model/BACnetLandingCallStatus.go     |   12 +-
 .../model/BACnetLandingCallStatusCommand.go        |   13 +-
 .../BACnetLandingCallStatusCommandDestination.go   |    8 +-
 .../BACnetLandingCallStatusCommandDirection.go     |    8 +-
 .../readwrite/model/BACnetLandingDoorStatus.go     |    8 +-
 .../BACnetLandingDoorStatusLandingDoorsList.go     |   12 +-
 ...BACnetLandingDoorStatusLandingDoorsListEntry.go |   10 +-
 .../readwrite/model/BACnetLifeSafetyMode.go        |    6 +-
 .../readwrite/model/BACnetLifeSafetyModeTagged.go  |    8 +-
 .../readwrite/model/BACnetLifeSafetyOperation.go   |    6 +-
 .../model/BACnetLifeSafetyOperationTagged.go       |    8 +-
 .../readwrite/model/BACnetLifeSafetyState.go       |    6 +-
 .../readwrite/model/BACnetLifeSafetyStateTagged.go |    8 +-
 .../readwrite/model/BACnetLiftCarCallList.go       |    8 +-
 .../model/BACnetLiftCarCallListFloorList.go        |   12 +-
 .../readwrite/model/BACnetLiftCarDirection.go      |    6 +-
 .../model/BACnetLiftCarDirectionTagged.go          |    8 +-
 .../readwrite/model/BACnetLiftCarDoorCommand.go    |    6 +-
 .../model/BACnetLiftCarDoorCommandTagged.go        |    8 +-
 .../readwrite/model/BACnetLiftCarDriveStatus.go    |    6 +-
 .../model/BACnetLiftCarDriveStatusTagged.go        |    8 +-
 .../bacnetip/readwrite/model/BACnetLiftCarMode.go  |    6 +-
 .../readwrite/model/BACnetLiftCarModeTagged.go     |    8 +-
 .../bacnetip/readwrite/model/BACnetLiftFault.go    |    6 +-
 .../readwrite/model/BACnetLiftFaultTagged.go       |    8 +-
 .../readwrite/model/BACnetLiftGroupMode.go         |    6 +-
 .../readwrite/model/BACnetLiftGroupModeTagged.go   |    8 +-
 .../readwrite/model/BACnetLightingCommand.go       |   18 +-
 .../model/BACnetLightingCommandEnclosed.go         |   12 +-
 .../readwrite/model/BACnetLightingInProgress.go    |    6 +-
 .../model/BACnetLightingInProgressTagged.go        |    8 +-
 .../readwrite/model/BACnetLightingOperation.go     |    6 +-
 .../model/BACnetLightingOperationTagged.go         |    8 +-
 .../readwrite/model/BACnetLightingTransition.go    |    6 +-
 .../model/BACnetLightingTransitionTagged.go        |    8 +-
 .../bacnetip/readwrite/model/BACnetLimitEnable.go  |    6 +-
 .../readwrite/model/BACnetLimitEnableTagged.go     |   10 +-
 .../bacnetip/readwrite/model/BACnetLockStatus.go   |    6 +-
 .../readwrite/model/BACnetLockStatusTagged.go      |    8 +-
 .../bacnetip/readwrite/model/BACnetLogData.go      |   19 +-
 .../readwrite/model/BACnetLogDataLogData.go        |   12 +-
 .../readwrite/model/BACnetLogDataLogDataEntry.go   |   27 +-
 .../model/BACnetLogDataLogDataEntryAnyValue.go     |    8 +-
 .../BACnetLogDataLogDataEntryBitStringValue.go     |    8 +-
 .../model/BACnetLogDataLogDataEntryBooleanValue.go |    8 +-
 .../BACnetLogDataLogDataEntryEnumeratedValue.go    |    8 +-
 .../model/BACnetLogDataLogDataEntryFailure.go      |    8 +-
 .../model/BACnetLogDataLogDataEntryIntegerValue.go |    8 +-
 .../model/BACnetLogDataLogDataEntryNullValue.go    |    8 +-
 .../model/BACnetLogDataLogDataEntryRealValue.go    |    8 +-
 .../BACnetLogDataLogDataEntryUnsignedValue.go      |    8 +-
 .../model/BACnetLogDataLogDataTimeChange.go        |    8 +-
 .../readwrite/model/BACnetLogDataLogStatus.go      |    8 +-
 .../readwrite/model/BACnetLogMultipleRecord.go     |   10 +-
 .../bacnetip/readwrite/model/BACnetLogRecord.go    |   12 +-
 .../readwrite/model/BACnetLogRecordLogDatum.go     |   35 +-
 .../model/BACnetLogRecordLogDatumAnyValue.go       |    8 +-
 .../model/BACnetLogRecordLogDatumBitStringValue.go |    8 +-
 .../model/BACnetLogRecordLogDatumBooleanValue.go   |    8 +-
 .../BACnetLogRecordLogDatumEnumeratedValue.go      |    8 +-
 .../model/BACnetLogRecordLogDatumFailure.go        |    8 +-
 .../model/BACnetLogRecordLogDatumIntegerValue.go   |    8 +-
 .../model/BACnetLogRecordLogDatumLogStatus.go      |    8 +-
 .../model/BACnetLogRecordLogDatumNullValue.go      |    8 +-
 .../model/BACnetLogRecordLogDatumRealValue.go      |    8 +-
 .../model/BACnetLogRecordLogDatumTimeChange.go     |    8 +-
 .../model/BACnetLogRecordLogDatumUnsignedValue.go  |    8 +-
 .../bacnetip/readwrite/model/BACnetLogStatus.go    |    6 +-
 .../readwrite/model/BACnetLogStatusTagged.go       |   10 +-
 .../bacnetip/readwrite/model/BACnetLoggingType.go  |    6 +-
 .../readwrite/model/BACnetLoggingTypeTagged.go     |    8 +-
 .../bacnetip/readwrite/model/BACnetMaintenance.go  |    6 +-
 .../readwrite/model/BACnetMaintenanceTagged.go     |    8 +-
 .../bacnetip/readwrite/model/BACnetNameValue.go    |   10 +-
 .../readwrite/model/BACnetNameValueCollection.go   |   12 +-
 .../readwrite/model/BACnetNetworkNumberQuality.go  |    6 +-
 .../model/BACnetNetworkNumberQualityTagged.go      |    8 +-
 .../readwrite/model/BACnetNetworkPortCommand.go    |    6 +-
 .../model/BACnetNetworkPortCommandTagged.go        |    8 +-
 .../readwrite/model/BACnetNetworkSecurityPolicy.go |   10 +-
 .../bacnetip/readwrite/model/BACnetNetworkType.go  |    6 +-
 .../readwrite/model/BACnetNetworkTypeTagged.go     |    8 +-
 .../bacnetip/readwrite/model/BACnetNodeType.go     |    6 +-
 .../readwrite/model/BACnetNodeTypeTagged.go        |    8 +-
 .../model/BACnetNotificationParameters.go          |   53 +-
 .../BACnetNotificationParametersAccessEvent.go     |   22 +-
 .../BACnetNotificationParametersBufferReady.go     |   16 +-
 ...ACnetNotificationParametersChangeOfBitString.go |   14 +-
 ...otificationParametersChangeOfCharacterString.go |   16 +-
 ...tNotificationParametersChangeOfDiscreteValue.go |   14 +-
 ...ationParametersChangeOfDiscreteValueNewValue.go |   33 +-
 ...rametersChangeOfDiscreteValueNewValueBoolean.go |    8 +-
 ...ChangeOfDiscreteValueNewValueCharacterString.go |    8 +-
 ...ametersChangeOfDiscreteValueNewValueDatetime.go |    8 +-
 ...etersChangeOfDiscreteValueNewValueEnumerated.go |    8 +-
 ...rametersChangeOfDiscreteValueNewValueInteger.go |    8 +-
 ...hangeOfDiscreteValueNewValueObjectidentifier.go |    8 +-
 ...metersChangeOfDiscreteValueNewValueOctetDate.go |    8 +-
 ...tersChangeOfDiscreteValueNewValueOctetString.go |    8 +-
 ...metersChangeOfDiscreteValueNewValueOctetTime.go |    8 +-
 ...ametersChangeOfDiscreteValueNewValueUnsigned.go |    8 +-
 ...CnetNotificationParametersChangeOfLifeSafety.go |   18 +-
 ...netNotificationParametersChangeOfReliability.go |   16 +-
 .../BACnetNotificationParametersChangeOfState.go   |   14 +-
 ...netNotificationParametersChangeOfStatusFlags.go |   14 +-
 .../BACnetNotificationParametersChangeOfTimer.go   |   22 +-
 .../BACnetNotificationParametersChangeOfValue.go   |   14 +-
 ...tNotificationParametersChangeOfValueNewValue.go |   17 +-
 ...onParametersChangeOfValueNewValueChangedBits.go |    8 +-
 ...nParametersChangeOfValueNewValueChangedValue.go |    8 +-
 .../BACnetNotificationParametersCommandFailure.go  |   16 +-
 ...BACnetNotificationParametersComplexEventType.go |    8 +-
 ...BACnetNotificationParametersDoubleOutOfRange.go |   18 +-
 .../model/BACnetNotificationParametersExtended.go  |   16 +-
 ...CnetNotificationParametersExtendedParameters.go |   40 +-
 .../BACnetNotificationParametersFloatingLimit.go   |   18 +-
 .../BACnetNotificationParametersOutOfRange.go      |   18 +-
 ...BACnetNotificationParametersSignedOutOfRange.go |   18 +-
 ...CnetNotificationParametersUnsignedOutOfRange.go |   18 +-
 .../BACnetNotificationParametersUnsignedRange.go   |   16 +-
 .../bacnetip/readwrite/model/BACnetNotifyType.go   |    6 +-
 .../readwrite/model/BACnetNotifyTypeTagged.go      |    8 +-
 .../model/BACnetObjectPropertyReference.go         |   12 +-
 .../model/BACnetObjectPropertyReferenceEnclosed.go |   12 +-
 .../bacnetip/readwrite/model/BACnetObjectType.go   |    6 +-
 .../readwrite/model/BACnetObjectTypeTagged.go      |    8 +-
 .../readwrite/model/BACnetObjectTypesSupported.go  |    6 +-
 .../model/BACnetObjectTypesSupportedTagged.go      |   10 +-
 .../bacnetip/readwrite/model/BACnetOpeningTag.go   |    8 +-
 .../readwrite/model/BACnetOptionalBinaryPV.go      |   13 +-
 .../readwrite/model/BACnetOptionalBinaryPVNull.go  |    8 +-
 .../readwrite/model/BACnetOptionalBinaryPVValue.go |    8 +-
 .../model/BACnetOptionalCharacterString.go         |   13 +-
 .../model/BACnetOptionalCharacterStringNull.go     |    8 +-
 .../model/BACnetOptionalCharacterStringValue.go    |    8 +-
 .../bacnetip/readwrite/model/BACnetOptionalREAL.go |   13 +-
 .../readwrite/model/BACnetOptionalREALNull.go      |    8 +-
 .../readwrite/model/BACnetOptionalREALValue.go     |    8 +-
 .../readwrite/model/BACnetOptionalUnsigned.go      |   13 +-
 .../readwrite/model/BACnetOptionalUnsignedNull.go  |    8 +-
 .../readwrite/model/BACnetOptionalUnsignedValue.go |    8 +-
 .../bacnetip/readwrite/model/BACnetPolarity.go     |    6 +-
 .../readwrite/model/BACnetPolarityTagged.go        |    8 +-
 .../readwrite/model/BACnetPortPermission.go        |   10 +-
 .../bacnetip/readwrite/model/BACnetPrescale.go     |   10 +-
 .../readwrite/model/BACnetPriorityArray.go         |   10 +-
 .../readwrite/model/BACnetPriorityValue.go         |   39 +-
 .../model/BACnetPriorityValueBitString.go          |    8 +-
 .../readwrite/model/BACnetPriorityValueBoolean.go  |    8 +-
 .../model/BACnetPriorityValueCharacterString.go    |    8 +-
 .../model/BACnetPriorityValueConstructedValue.go   |    8 +-
 .../readwrite/model/BACnetPriorityValueDate.go     |    8 +-
 .../readwrite/model/BACnetPriorityValueDateTime.go |    8 +-
 .../readwrite/model/BACnetPriorityValueDouble.go   |    8 +-
 .../model/BACnetPriorityValueEnumerated.go         |    8 +-
 .../readwrite/model/BACnetPriorityValueInteger.go  |    8 +-
 .../readwrite/model/BACnetPriorityValueNull.go     |    8 +-
 .../model/BACnetPriorityValueObjectidentifier.go   |    8 +-
 .../model/BACnetPriorityValueOctetString.go        |    8 +-
 .../readwrite/model/BACnetPriorityValueReal.go     |    8 +-
 .../readwrite/model/BACnetPriorityValueTime.go     |    8 +-
 .../readwrite/model/BACnetPriorityValueUnsigned.go |    8 +-
 .../readwrite/model/BACnetProcessIdSelection.go    |   13 +-
 .../model/BACnetProcessIdSelectionNull.go          |    8 +-
 .../model/BACnetProcessIdSelectionValue.go         |    8 +-
 .../bacnetip/readwrite/model/BACnetProgramError.go |    6 +-
 .../readwrite/model/BACnetProgramErrorTagged.go    |    8 +-
 .../readwrite/model/BACnetProgramRequest.go        |    6 +-
 .../readwrite/model/BACnetProgramRequestTagged.go  |    8 +-
 .../bacnetip/readwrite/model/BACnetProgramState.go |    6 +-
 .../readwrite/model/BACnetProgramStateTagged.go    |    8 +-
 .../readwrite/model/BACnetPropertyAccessResult.go  |   16 +-
 .../BACnetPropertyAccessResultAccessResult.go      |   13 +-
 ...yAccessResultAccessResultPropertyAccessError.go |    8 +-
 ...ropertyAccessResultAccessResultPropertyValue.go |    8 +-
 .../readwrite/model/BACnetPropertyIdentifier.go    |    6 +-
 .../model/BACnetPropertyIdentifierTagged.go        |    8 +-
 .../readwrite/model/BACnetPropertyReference.go     |   10 +-
 .../model/BACnetPropertyReferenceEnclosed.go       |   12 +-
 .../model/BACnetPropertyStateActionUnknown.go      |    8 +-
 .../readwrite/model/BACnetPropertyStates.go        |  127 +-
 .../BACnetPropertyStatesAccessCredentialDisable.go |    8 +-
 ...tPropertyStatesAccessCredentialDisableReason.go |    8 +-
 .../model/BACnetPropertyStatesAccessEvent.go       |    8 +-
 .../readwrite/model/BACnetPropertyStatesAction.go  |    8 +-
 .../BACnetPropertyStatesAuthenticationStatus.go    |    8 +-
 .../model/BACnetPropertyStatesBackupState.go       |    8 +-
 .../model/BACnetPropertyStatesBacnetIpMode.go      |    8 +-
 .../BACnetPropertyStatesBinaryLightningValue.go    |    8 +-
 .../model/BACnetPropertyStatesBinaryValue.go       |    8 +-
 .../readwrite/model/BACnetPropertyStatesBoolean.go |    8 +-
 .../model/BACnetPropertyStatesDoorAlarmState.go    |    8 +-
 .../model/BACnetPropertyStatesDoorSecuredStatus.go |    8 +-
 .../model/BACnetPropertyStatesDoorStatus.go        |    8 +-
 .../model/BACnetPropertyStatesDoorValue.go         |    8 +-
 .../model/BACnetPropertyStatesEnclosed.go          |   12 +-
 .../model/BACnetPropertyStatesEscalatorFault.go    |    8 +-
 .../model/BACnetPropertyStatesEscalatorMode.go     |    8 +-
 ...netPropertyStatesEscalatorOperationDirection.go |    8 +-
 .../model/BACnetPropertyStatesEventType.go         |    8 +-
 .../model/BACnetPropertyStatesExtendedValue.go     |    8 +-
 .../model/BACnetPropertyStatesFileAccessMethod.go  |    8 +-
 .../model/BACnetPropertyStatesIntegerValue.go      |    8 +-
 .../model/BACnetPropertyStatesLifeSafetyMode.go    |    8 +-
 .../BACnetPropertyStatesLifeSafetyOperations.go    |    8 +-
 .../model/BACnetPropertyStatesLifeSafetyState.go   |    8 +-
 .../model/BACnetPropertyStatesLiftCarDirection.go  |    8 +-
 .../BACnetPropertyStatesLiftCarDoorCommand.go      |    8 +-
 .../BACnetPropertyStatesLiftCarDriveStatus.go      |    8 +-
 .../model/BACnetPropertyStatesLiftCarMode.go       |    8 +-
 .../model/BACnetPropertyStatesLiftFault.go         |    8 +-
 .../model/BACnetPropertyStatesLiftGroupMode.go     |    8 +-
 .../BACnetPropertyStatesLightningInProgress.go     |    8 +-
 .../BACnetPropertyStatesLightningOperation.go      |    8 +-
 .../BACnetPropertyStatesLightningTransition.go     |    8 +-
 .../model/BACnetPropertyStatesLockStatus.go        |    8 +-
 .../model/BACnetPropertyStatesMaintenance.go       |    8 +-
 .../BACnetPropertyStatesNetworkNumberQuality.go    |    8 +-
 .../BACnetPropertyStatesNetworkPortCommand.go      |    8 +-
 .../model/BACnetPropertyStatesNetworkType.go       |    8 +-
 .../model/BACnetPropertyStatesNodeType.go          |    8 +-
 .../model/BACnetPropertyStatesNotifyType.go        |    8 +-
 .../model/BACnetPropertyStatesPolarity.go          |    8 +-
 .../model/BACnetPropertyStatesProgramChange.go     |    8 +-
 .../model/BACnetPropertyStatesProtocolLevel.go     |    8 +-
 .../model/BACnetPropertyStatesReasonForHalt.go     |    8 +-
 .../model/BACnetPropertyStatesReliability.go       |    8 +-
 .../model/BACnetPropertyStatesRestartReason.go     |    8 +-
 .../model/BACnetPropertyStatesSecurityLevel.go     |    8 +-
 .../model/BACnetPropertyStatesShedState.go         |    8 +-
 .../model/BACnetPropertyStatesSilencedState.go     |    8 +-
 .../readwrite/model/BACnetPropertyStatesState.go   |    8 +-
 .../model/BACnetPropertyStatesSystemStatus.go      |    8 +-
 .../model/BACnetPropertyStatesTimerState.go        |    8 +-
 .../model/BACnetPropertyStatesTimerTransition.go   |    8 +-
 .../readwrite/model/BACnetPropertyStatesUnits.go   |    8 +-
 .../model/BACnetPropertyStatesWriteStatus.go       |    8 +-
 .../model/BACnetPropertyStatesZoneOccupanyState.go |    8 +-
 .../readwrite/model/BACnetPropertyValue.go         |   14 +-
 .../readwrite/model/BACnetPropertyValues.go        |   12 +-
 .../model/BACnetPropertyWriteDefinition.go         |   14 +-
 .../readwrite/model/BACnetProtocolLevel.go         |    6 +-
 .../readwrite/model/BACnetProtocolLevelTagged.go   |    8 +-
 .../readwrite/model/BACnetReadAccessProperty.go    |   12 +-
 .../model/BACnetReadAccessPropertyReadResult.go    |   12 +-
 .../readwrite/model/BACnetReadAccessResult.go      |   10 +-
 .../model/BACnetReadAccessResultListOfResults.go   |   12 +-
 .../model/BACnetReadAccessSpecification.go         |   14 +-
 .../bacnetip/readwrite/model/BACnetRecipient.go    |   13 +-
 .../readwrite/model/BACnetRecipientAddress.go      |    8 +-
 .../readwrite/model/BACnetRecipientDevice.go       |    8 +-
 .../readwrite/model/BACnetRecipientEnclosed.go     |   12 +-
 .../readwrite/model/BACnetRecipientProcess.go      |   10 +-
 .../model/BACnetRecipientProcessEnclosed.go        |   12 +-
 .../bacnetip/readwrite/model/BACnetRejectReason.go |    6 +-
 .../readwrite/model/BACnetRejectReasonTagged.go    |    6 +-
 .../bacnetip/readwrite/model/BACnetRelationship.go |    6 +-
 .../readwrite/model/BACnetRelationshipTagged.go    |    8 +-
 .../bacnetip/readwrite/model/BACnetReliability.go  |    6 +-
 .../readwrite/model/BACnetReliabilityTagged.go     |    8 +-
 .../readwrite/model/BACnetRestartReason.go         |    6 +-
 .../readwrite/model/BACnetRestartReasonTagged.go   |    8 +-
 .../bacnetip/readwrite/model/BACnetResultFlags.go  |    6 +-
 .../readwrite/model/BACnetResultFlagsTagged.go     |   10 +-
 .../bacnetip/readwrite/model/BACnetRouterEntry.go  |   14 +-
 .../readwrite/model/BACnetRouterEntryStatus.go     |    6 +-
 .../model/BACnetRouterEntryStatusTagged.go         |    8 +-
 .../bacnetip/readwrite/model/BACnetScale.go        |   13 +-
 .../readwrite/model/BACnetScaleFloatScale.go       |    8 +-
 .../readwrite/model/BACnetScaleIntegerScale.go     |    8 +-
 .../readwrite/model/BACnetSecurityKeySet.go        |   14 +-
 .../readwrite/model/BACnetSecurityKeySetKeyIds.go  |   12 +-
 .../readwrite/model/BACnetSecurityLevel.go         |    6 +-
 .../readwrite/model/BACnetSecurityLevelTagged.go   |    8 +-
 .../readwrite/model/BACnetSecurityPolicy.go        |    6 +-
 .../readwrite/model/BACnetSecurityPolicyTagged.go  |    8 +-
 .../bacnetip/readwrite/model/BACnetSegmentation.go |    6 +-
 .../readwrite/model/BACnetSegmentationTagged.go    |    8 +-
 .../bacnetip/readwrite/model/BACnetServiceAck.go   |   39 +-
 .../model/BACnetServiceAckAtomicReadFile.go        |   10 +-
 .../model/BACnetServiceAckAtomicReadFileRecord.go  |   12 +-
 .../model/BACnetServiceAckAtomicReadFileStream.go  |   10 +-
 ...BACnetServiceAckAtomicReadFileStreamOrRecord.go |   17 +-
 .../model/BACnetServiceAckAtomicWriteFile.go       |    8 +-
 .../model/BACnetServiceAckAuthenticate.go          |    6 +-
 .../BACnetServiceAckConfirmedPrivateTransfer.go    |   12 +-
 .../model/BACnetServiceAckCreateObject.go          |    8 +-
 .../model/BACnetServiceAckGetAlarmSummary.go       |   12 +-
 .../model/BACnetServiceAckGetEnrollmentSummary.go  |   16 +-
 .../model/BACnetServiceAckGetEventInformation.go   |   10 +-
 .../model/BACnetServiceAckReadProperty.go          |   14 +-
 .../BACnetServiceAckReadPropertyConditional.go     |    6 +-
 .../model/BACnetServiceAckReadPropertyMultiple.go  |    8 +-
 .../readwrite/model/BACnetServiceAckReadRange.go   |   20 +-
 .../readwrite/model/BACnetServiceAckRequestKey.go  |    6 +-
 .../readwrite/model/BACnetServiceAckVTData.go      |   12 +-
 .../readwrite/model/BACnetServiceAckVTOpen.go      |    8 +-
 .../readwrite/model/BACnetServicesSupported.go     |    6 +-
 .../model/BACnetServicesSupportedTagged.go         |   10 +-
 .../readwrite/model/BACnetSetpointReference.go     |    8 +-
 .../bacnetip/readwrite/model/BACnetShedLevel.go    |   15 +-
 .../readwrite/model/BACnetShedLevelAmount.go       |    8 +-
 .../readwrite/model/BACnetShedLevelLevel.go        |    8 +-
 .../readwrite/model/BACnetShedLevelPercent.go      |    8 +-
 .../bacnetip/readwrite/model/BACnetShedState.go    |    6 +-
 .../readwrite/model/BACnetShedStateTagged.go       |    8 +-
 .../readwrite/model/BACnetSilencedState.go         |    6 +-
 .../readwrite/model/BACnetSilencedStateTagged.go   |    8 +-
 .../bacnetip/readwrite/model/BACnetSpecialEvent.go |   12 +-
 .../model/BACnetSpecialEventListOfTimeValues.go    |   12 +-
 .../readwrite/model/BACnetSpecialEventPeriod.go    |   13 +-
 .../model/BACnetSpecialEventPeriodCalendarEntry.go |    8 +-
 .../BACnetSpecialEventPeriodCalendarReference.go   |    8 +-
 .../bacnetip/readwrite/model/BACnetStatusFlags.go  |    6 +-
 .../readwrite/model/BACnetStatusFlagsTagged.go     |   10 +-
 .../bacnetip/readwrite/model/BACnetTagHeader.go    |    8 +-
 .../readwrite/model/BACnetTagPayloadBitString.go   |    6 +-
 .../readwrite/model/BACnetTagPayloadBoolean.go     |    6 +-
 .../model/BACnetTagPayloadCharacterString.go       |    8 +-
 .../readwrite/model/BACnetTagPayloadDate.go        |    6 +-
 .../readwrite/model/BACnetTagPayloadDouble.go      |    6 +-
 .../readwrite/model/BACnetTagPayloadEnumerated.go  |    6 +-
 .../model/BACnetTagPayloadObjectIdentifier.go      |    6 +-
 .../readwrite/model/BACnetTagPayloadOctetString.go |    6 +-
 .../readwrite/model/BACnetTagPayloadReal.go        |    6 +-
 .../model/BACnetTagPayloadSignedInteger.go         |    6 +-
 .../readwrite/model/BACnetTagPayloadTime.go        |    6 +-
 .../model/BACnetTagPayloadUnsignedInteger.go       |    6 +-
 .../bacnetip/readwrite/model/BACnetTimeStamp.go    |   15 +-
 .../readwrite/model/BACnetTimeStampDateTime.go     |    8 +-
 .../readwrite/model/BACnetTimeStampEnclosed.go     |   12 +-
 .../readwrite/model/BACnetTimeStampSequence.go     |    8 +-
 .../readwrite/model/BACnetTimeStampTime.go         |    8 +-
 .../readwrite/model/BACnetTimeStampsEnclosed.go    |   12 +-
 .../bacnetip/readwrite/model/BACnetTimeValue.go    |   10 +-
 .../bacnetip/readwrite/model/BACnetTimerState.go   |    6 +-
 .../readwrite/model/BACnetTimerStateChangeValue.go |   43 +-
 .../model/BACnetTimerStateChangeValueBitString.go  |    8 +-
 .../model/BACnetTimerStateChangeValueBoolean.go    |    8 +-
 .../BACnetTimerStateChangeValueCharacterString.go  |    8 +-
 .../BACnetTimerStateChangeValueConstructedValue.go |    8 +-
 .../model/BACnetTimerStateChangeValueDate.go       |    8 +-
 .../model/BACnetTimerStateChangeValueDateTime.go   |    8 +-
 .../model/BACnetTimerStateChangeValueDouble.go     |    8 +-
 .../model/BACnetTimerStateChangeValueEnumerated.go |    8 +-
 .../model/BACnetTimerStateChangeValueInteger.go    |    8 +-
 .../BACnetTimerStateChangeValueLightingCommand.go  |    8 +-
 .../model/BACnetTimerStateChangeValueNoValue.go    |    8 +-
 .../model/BACnetTimerStateChangeValueNull.go       |    8 +-
 .../BACnetTimerStateChangeValueObjectidentifier.go |    8 +-
 .../BACnetTimerStateChangeValueOctetString.go      |    8 +-
 .../model/BACnetTimerStateChangeValueReal.go       |    8 +-
 .../model/BACnetTimerStateChangeValueTime.go       |    8 +-
 .../model/BACnetTimerStateChangeValueUnsigned.go   |    8 +-
 .../readwrite/model/BACnetTimerStateTagged.go      |    8 +-
 .../readwrite/model/BACnetTimerTransition.go       |    6 +-
 .../readwrite/model/BACnetTimerTransitionTagged.go |    8 +-
 .../model/BACnetUnconfirmedServiceChoice.go        |    6 +-
 .../model/BACnetUnconfirmedServiceChoiceTagged.go  |    8 +-
 .../model/BACnetUnconfirmedServiceRequest.go       |   35 +-
 .../model/BACnetUnconfirmedServiceRequestIAm.go    |   14 +-
 .../model/BACnetUnconfirmedServiceRequestIHave.go  |   12 +-
 ...UnconfirmedServiceRequestTimeSynchronization.go |   10 +-
 ...onfirmedServiceRequestUTCTimeSynchronization.go |   10 +-
 ...rmedServiceRequestUnconfirmedCOVNotification.go |   16 +-
 ...iceRequestUnconfirmedCOVNotificationMultiple.go |   16 +-
 ...edServiceRequestUnconfirmedEventNotification.go |   32 +-
 ...rmedServiceRequestUnconfirmedPrivateTransfer.go |   12 +-
 ...onfirmedServiceRequestUnconfirmedTextMessage.go |   14 +-
 .../BACnetUnconfirmedServiceRequestUnknown.go      |    6 +-
 .../model/BACnetUnconfirmedServiceRequestWhoHas.go |   12 +-
 .../BACnetUnconfirmedServiceRequestWhoHasObject.go |   13 +-
 ...onfirmedServiceRequestWhoHasObjectIdentifier.go |    8 +-
 ...netUnconfirmedServiceRequestWhoHasObjectName.go |    8 +-
 .../model/BACnetUnconfirmedServiceRequestWhoIs.go  |   10 +-
 .../BACnetUnconfirmedServiceRequestWriteGroup.go   |   14 +-
 .../bacnetip/readwrite/model/BACnetVMACEntry.go    |   10 +-
 .../bacnetip/readwrite/model/BACnetVTClass.go      |    6 +-
 .../readwrite/model/BACnetVTClassTagged.go         |    8 +-
 .../bacnetip/readwrite/model/BACnetVTSession.go    |   12 +-
 .../bacnetip/readwrite/model/BACnetValueSource.go  |   15 +-
 .../readwrite/model/BACnetValueSourceAddress.go    |    8 +-
 .../readwrite/model/BACnetValueSourceNone.go       |    8 +-
 .../readwrite/model/BACnetValueSourceObject.go     |    8 +-
 .../bacnetip/readwrite/model/BACnetVendorId.go     |    6 +-
 .../readwrite/model/BACnetVendorIdTagged.go        |    8 +-
 .../bacnetip/readwrite/model/BACnetWeekNDay.go     |    6 +-
 .../readwrite/model/BACnetWeekNDayTagged.go        |    8 +-
 .../model/BACnetWriteAccessSpecification.go        |   14 +-
 .../bacnetip/readwrite/model/BACnetWriteStatus.go  |    6 +-
 .../readwrite/model/BACnetWriteStatusTagged.go     |    8 +-
 plc4go/protocols/bacnetip/readwrite/model/BVLC.go  |   33 +-
 .../model/BVLCBroadcastDistributionTableEntry.go   |    6 +-
 .../model/BVLCDeleteForeignDeviceTableEntry.go     |    6 +-
 .../model/BVLCDistributeBroadcastToNetwork.go      |    8 +-
 .../readwrite/model/BVLCForeignDeviceTableEntry.go |    6 +-
 .../bacnetip/readwrite/model/BVLCForwardedNPDU.go  |    8 +-
 .../readwrite/model/BVLCOriginalBroadcastNPDU.go   |    8 +-
 .../readwrite/model/BVLCOriginalUnicastNPDU.go     |    8 +-
 .../model/BVLCReadBroadcastDistributionTable.go    |    6 +-
 .../model/BVLCReadBroadcastDistributionTableAck.go |    8 +-
 .../readwrite/model/BVLCReadForeignDeviceTable.go  |    6 +-
 .../model/BVLCReadForeignDeviceTableAck.go         |    8 +-
 .../readwrite/model/BVLCRegisterForeignDevice.go   |    6 +-
 .../bacnetip/readwrite/model/BVLCResult.go         |    8 +-
 .../bacnetip/readwrite/model/BVLCResultCode.go     |    6 +-
 .../readwrite/model/BVLCResultCodeTagged.go        |    8 +-
 .../bacnetip/readwrite/model/BVLCSecureBVLL.go     |    6 +-
 .../model/BVLCWriteBroadcastDistributionTable.go   |    8 +-
 .../bacnetip/readwrite/model/ChangeListAddError.go |   10 +-
 .../readwrite/model/ChangeListRemoveError.go       |   10 +-
 .../model/ConfirmedEventNotificationRequest.go     |   32 +-
 .../model/ConfirmedPrivateTransferError.go         |   14 +-
 .../bacnetip/readwrite/model/CreateObjectError.go  |   10 +-
 plc4go/protocols/bacnetip/readwrite/model/Error.go |   10 +-
 .../bacnetip/readwrite/model/ErrorClass.go         |    6 +-
 .../bacnetip/readwrite/model/ErrorClassTagged.go   |    8 +-
 .../bacnetip/readwrite/model/ErrorCode.go          |    6 +-
 .../bacnetip/readwrite/model/ErrorCodeTagged.go    |    8 +-
 .../bacnetip/readwrite/model/ErrorEnclosed.go      |   12 +-
 .../readwrite/model/ListOfCovNotifications.go      |   14 +-
 .../readwrite/model/ListOfCovNotificationsList.go  |   12 +-
 .../readwrite/model/ListOfCovNotificationsValue.go |   14 +-
 .../readwrite/model/MaxApduLengthAccepted.go       |    6 +-
 .../readwrite/model/MaxApduLengthAcceptedTagged.go |    8 +-
 .../readwrite/model/MaxSegmentsAccepted.go         |    6 +-
 .../readwrite/model/MaxSegmentsAcceptedTagged.go   |    8 +-
 plc4go/protocols/bacnetip/readwrite/model/NLM.go   |   29 +-
 .../model/NLMDisconnectConnectionToNetwork.go      |    6 +-
 .../model/NLMEstablishConnectionToNetwork.go       |    6 +-
 .../readwrite/model/NLMIAmRouterToNetwork.go       |    6 +-
 .../readwrite/model/NLMICouldBeRouterToNetwork.go  |    6 +-
 .../readwrite/model/NLMInitalizeRoutingTable.go    |    8 +-
 .../readwrite/model/NLMInitalizeRoutingTableAck.go |    8 +-
 .../model/NLMInitalizeRoutingTablePortMapping.go   |    6 +-
 .../readwrite/model/NLMRejectRouterToNetwork.go    |    8 +-
 .../model/NLMRejectRouterToNetworkRejectReason.go  |    6 +-
 .../readwrite/model/NLMRouterAvailableToNetwork.go |    6 +-
 .../readwrite/model/NLMRouterBusyToNetwork.go      |    6 +-
 .../readwrite/model/NLMWhoIsRouterToNetwork.go     |    6 +-
 plc4go/protocols/bacnetip/readwrite/model/NPDU.go  |   12 +-
 .../bacnetip/readwrite/model/NPDUControl.go        |    8 +-
 .../readwrite/model/NPDUNetworkPriority.go         |    6 +-
 .../readwrite/model/NPDUNetworkPriorityTagged.go   |    8 +-
 .../model/SubscribeCOVPropertyMultipleError.go     |   10 +-
 ...PropertyMultipleErrorFirstFailedSubscription.go |   16 +-
 .../protocols/bacnetip/readwrite/model/TagClass.go |    6 +-
 .../bacnetip/readwrite/model/VTCloseError.go       |   10 +-
 .../VTCloseErrorListOfVTSessionIdentifiers.go      |   12 +-
 .../readwrite/model/WritePropertyMultipleError.go  |   10 +-
 plc4go/protocols/cbus/readwrite/ParserHelper.go    |  154 +--
 plc4go/protocols/cbus/readwrite/XmlParserHelper.go |  154 +--
 .../cbus/readwrite/model/AccessControlCategory.go  |    6 +-
 .../readwrite/model/AccessControlCommandType.go    |    6 +-
 .../model/AccessControlCommandTypeContainer.go     |    6 +-
 .../cbus/readwrite/model/AccessControlData.go      |   25 +-
 .../model/AccessControlDataAccessPointClosed.go    |    6 +-
 .../AccessControlDataAccessPointForcedOpen.go      |    6 +-
 .../model/AccessControlDataAccessPointLeftOpen.go  |    6 +-
 .../model/AccessControlDataCloseAccessPoint.go     |    6 +-
 .../model/AccessControlDataInvalidAccessRequest.go |    8 +-
 .../model/AccessControlDataLockAccessPoint.go      |    6 +-
 .../model/AccessControlDataRequestToExit.go        |    6 +-
 .../model/AccessControlDataValidAccessRequest.go   |    8 +-
 .../cbus/readwrite/model/AccessControlDirection.go |    6 +-
 .../readwrite/model/AirConditioningCommandType.go  |    6 +-
 .../model/AirConditioningCommandTypeContainer.go   |    6 +-
 .../cbus/readwrite/model/AirConditioningData.go    |   47 +-
 .../AirConditioningDataHumidityScheduleEntry.go    |   16 +-
 .../model/AirConditioningDataHvacScheduleEntry.go  |   16 +-
 .../readwrite/model/AirConditioningDataRefresh.go  |    6 +-
 ...irConditioningDataSetHumidityLowerGuardLimit.go |   12 +-
 .../AirConditioningDataSetHumiditySetbackLimit.go  |   12 +-
 ...irConditioningDataSetHumidityUpperGuardLimit.go |   12 +-
 .../AirConditioningDataSetHvacLowerGuardLimit.go   |   12 +-
 .../AirConditioningDataSetHvacSetbackLimit.go      |   12 +-
 .../AirConditioningDataSetHvacUpperGuardLimit.go   |   12 +-
 .../AirConditioningDataSetPlantHumidityLevel.go    |   18 +-
 .../model/AirConditioningDataSetPlantHvacLevel.go  |   18 +-
 .../model/AirConditioningDataSetZoneGroupOff.go    |    6 +-
 .../model/AirConditioningDataSetZoneGroupOn.go     |    6 +-
 .../AirConditioningDataSetZoneHumidityMode.go      |   18 +-
 .../model/AirConditioningDataSetZoneHvacMode.go    |   18 +-
 .../model/AirConditioningDataZoneHumidity.go       |   12 +-
 .../AirConditioningDataZoneHumidityPlantStatus.go  |   14 +-
 .../AirConditioningDataZoneHvacPlantStatus.go      |   14 +-
 .../model/AirConditioningDataZoneTemperature.go    |   12 +-
 plc4go/protocols/cbus/readwrite/model/Alpha.go     |    6 +-
 .../cbus/readwrite/model/ApplicationAddress1.go    |    6 +-
 .../cbus/readwrite/model/ApplicationAddress2.go    |    6 +-
 .../cbus/readwrite/model/ApplicationId.go          |    6 +-
 .../cbus/readwrite/model/ApplicationIdContainer.go |    6 +-
 plc4go/protocols/cbus/readwrite/model/Attribute.go |    6 +-
 .../cbus/readwrite/model/BaudRateSelector.go       |    6 +-
 .../cbus/readwrite/model/BridgeAddress.go          |    6 +-
 .../cbus/readwrite/model/CALCommandType.go         |    6 +-
 .../readwrite/model/CALCommandTypeContainer.go     |    6 +-
 plc4go/protocols/cbus/readwrite/model/CALData.go   |   31 +-
 .../cbus/readwrite/model/CALDataAcknowledge.go     |    8 +-
 .../cbus/readwrite/model/CALDataGetStatus.go       |    8 +-
 .../cbus/readwrite/model/CALDataIdentify.go        |    8 +-
 .../cbus/readwrite/model/CALDataIdentifyReply.go   |   10 +-
 .../cbus/readwrite/model/CALDataRecall.go          |    8 +-
 .../protocols/cbus/readwrite/model/CALDataReply.go |   10 +-
 .../protocols/cbus/readwrite/model/CALDataReset.go |    6 +-
 .../cbus/readwrite/model/CALDataStatus.go          |   10 +-
 .../cbus/readwrite/model/CALDataStatusExtended.go  |   14 +-
 .../protocols/cbus/readwrite/model/CALDataWrite.go |   10 +-
 plc4go/protocols/cbus/readwrite/model/CALReply.go  |   13 +-
 .../protocols/cbus/readwrite/model/CALReplyLong.go |   14 +-
 .../cbus/readwrite/model/CALReplyShort.go          |    6 +-
 .../protocols/cbus/readwrite/model/CBusCommand.go  |   17 +-
 .../readwrite/model/CBusCommandDeviceManagement.go |    8 +-
 .../model/CBusCommandPointToMultiPoint.go          |    8 +-
 .../readwrite/model/CBusCommandPointToPoint.go     |    8 +-
 .../model/CBusCommandPointToPointToMultiPoint.go   |    8 +-
 .../cbus/readwrite/model/CBusConstants.go          |    6 +-
 .../protocols/cbus/readwrite/model/CBusHeader.go   |   10 +-
 .../protocols/cbus/readwrite/model/CBusMessage.go  |   11 +-
 .../cbus/readwrite/model/CBusMessageToClient.go    |    8 +-
 .../cbus/readwrite/model/CBusMessageToServer.go    |    8 +-
 .../protocols/cbus/readwrite/model/CBusOptions.go  |    6 +-
 .../model/CBusPointToMultiPointCommand.go          |   11 +-
 .../model/CBusPointToMultiPointCommandNormal.go    |   10 +-
 .../model/CBusPointToMultiPointCommandStatus.go    |    8 +-
 .../readwrite/model/CBusPointToPointCommand.go     |   13 +-
 .../model/CBusPointToPointCommandDirect.go         |    8 +-
 .../model/CBusPointToPointCommandIndirect.go       |   12 +-
 .../model/CBusPointToPointToMultiPointCommand.go   |   15 +-
 .../CBusPointToPointToMultiPointCommandNormal.go   |   10 +-
 .../CBusPointToPointToMultiPointCommandStatus.go   |    8 +-
 .../cbus/readwrite/model/ChannelStatus.go          |    6 +-
 plc4go/protocols/cbus/readwrite/model/Checksum.go  |    6 +-
 .../model/ClockAndTimekeepingCommandType.go        |    6 +-
 .../ClockAndTimekeepingCommandTypeContainer.go     |    6 +-
 .../readwrite/model/ClockAndTimekeepingData.go     |   15 +-
 .../model/ClockAndTimekeepingDataRequestRefresh.go |    6 +-
 .../model/ClockAndTimekeepingDataUpdateDate.go     |    6 +-
 .../model/ClockAndTimekeepingDataUpdateTime.go     |    6 +-
 .../protocols/cbus/readwrite/model/Confirmation.go |   12 +-
 .../cbus/readwrite/model/ConfirmationType.go       |    6 +-
 .../cbus/readwrite/model/CustomManufacturer.go     |    6 +-
 .../protocols/cbus/readwrite/model/CustomTypes.go  |    6 +-
 .../cbus/readwrite/model/DestinationAddressType.go |    6 +-
 .../cbus/readwrite/model/DialInFailureReason.go    |    6 +-
 .../cbus/readwrite/model/DialOutFailureReason.go   |    6 +-
 .../readwrite/model/EnableControlCommandType.go    |    6 +-
 .../model/EnableControlCommandTypeContainer.go     |    6 +-
 .../cbus/readwrite/model/EnableControlData.go      |    8 +-
 .../protocols/cbus/readwrite/model/EncodedReply.go |   11 +-
 .../cbus/readwrite/model/EncodedReplyCALReply.go   |    8 +-
 .../readwrite/model/ErrorReportingCommandType.go   |    6 +-
 .../model/ErrorReportingCommandTypeContainer.go    |    6 +-
 .../cbus/readwrite/model/ErrorReportingData.go     |   11 +-
 .../readwrite/model/ErrorReportingDataGeneric.go   |   10 +-
 .../cbus/readwrite/model/ErrorReportingSeverity.go |    6 +-
 .../model/ErrorReportingSystemCategory.go          |   12 +-
 .../model/ErrorReportingSystemCategoryClass.go     |    6 +-
 .../model/ErrorReportingSystemCategoryType.go      |   19 +-
 ...gSystemCategoryTypeBuildingManagementSystems.go |    8 +-
 ...eportingSystemCategoryTypeClimateControllers.go |    8 +-
 ...stemCategoryTypeForBuildingManagementSystems.go |    6 +-
 ...rtingSystemCategoryTypeForClimateControllers.go |    6 +-
 ...rrorReportingSystemCategoryTypeForInputUnits.go |    6 +-
 ...rorReportingSystemCategoryTypeForOutputUnits.go |    6 +-
 ...orReportingSystemCategoryTypeForSupportUnits.go |    6 +-
 .../ErrorReportingSystemCategoryTypeInputUnits.go  |    8 +-
 .../ErrorReportingSystemCategoryTypeOutputUnits.go |    8 +-
 .../ErrorReportingSystemCategoryTypeReserved.go    |    6 +-
 ...ErrorReportingSystemCategoryTypeSupportUnits.go |    8 +-
 .../model/ErrorReportingSystemCategoryVariant.go   |    6 +-
 plc4go/protocols/cbus/readwrite/model/GAVState.go  |    6 +-
 .../cbus/readwrite/model/HVACAuxiliaryLevel.go     |    6 +-
 plc4go/protocols/cbus/readwrite/model/HVACError.go |    6 +-
 .../protocols/cbus/readwrite/model/HVACHumidity.go |    6 +-
 .../cbus/readwrite/model/HVACHumidityError.go      |    6 +-
 .../readwrite/model/HVACHumidityModeAndFlags.go    |    8 +-
 .../model/HVACHumidityModeAndFlagsMode.go          |    6 +-
 .../readwrite/model/HVACHumidityStatusFlags.go     |    6 +-
 .../cbus/readwrite/model/HVACHumidityType.go       |    6 +-
 .../cbus/readwrite/model/HVACModeAndFlags.go       |    8 +-
 .../cbus/readwrite/model/HVACModeAndFlagsMode.go   |    6 +-
 .../cbus/readwrite/model/HVACRawLevels.go          |    6 +-
 .../cbus/readwrite/model/HVACSensorStatus.go       |    6 +-
 .../cbus/readwrite/model/HVACStartTime.go          |    6 +-
 .../cbus/readwrite/model/HVACStatusFlags.go        |    6 +-
 .../cbus/readwrite/model/HVACTemperature.go        |    6 +-
 plc4go/protocols/cbus/readwrite/model/HVACType.go  |    6 +-
 .../protocols/cbus/readwrite/model/HVACZoneList.go |    6 +-
 .../cbus/readwrite/model/IdentifyReplyCommand.go   |   43 +-
 .../IdentifyReplyCommandCurrentSenseLevels.go      |    6 +-
 .../model/IdentifyReplyCommandDSIStatus.go         |   24 +-
 .../readwrite/model/IdentifyReplyCommandDelays.go  |    6 +-
 ...dentifyReplyCommandExtendedDiagnosticSummary.go |   10 +-
 .../model/IdentifyReplyCommandFirmwareVersion.go   |    6 +-
 .../IdentifyReplyCommandGAVPhysicalAddresses.go    |    6 +-
 .../model/IdentifyReplyCommandGAVValuesCurrent.go  |    6 +-
 .../model/IdentifyReplyCommandGAVValuesStored.go   |    6 +-
 .../model/IdentifyReplyCommandLogicalAssignment.go |    8 +-
 .../model/IdentifyReplyCommandManufacturer.go      |    6 +-
 .../model/IdentifyReplyCommandMaximumLevels.go     |    6 +-
 .../model/IdentifyReplyCommandMinimumLevels.go     |    6 +-
 .../IdentifyReplyCommandNetworkTerminalLevels.go   |    6 +-
 .../model/IdentifyReplyCommandNetworkVoltage.go    |    6 +-
 .../model/IdentifyReplyCommandOutputUnitSummary.go |    8 +-
 .../readwrite/model/IdentifyReplyCommandSummary.go |    6 +-
 .../model/IdentifyReplyCommandTerminalLevels.go    |    6 +-
 .../readwrite/model/IdentifyReplyCommandType.go    |    6 +-
 .../model/IdentifyReplyCommandUnitSummary.go       |    6 +-
 .../cbus/readwrite/model/InterfaceOptions1.go      |    6 +-
 .../model/InterfaceOptions1PowerUpSettings.go      |    8 +-
 .../cbus/readwrite/model/InterfaceOptions2.go      |    6 +-
 .../cbus/readwrite/model/InterfaceOptions3.go      |    6 +-
 plc4go/protocols/cbus/readwrite/model/Language.go  |    6 +-
 .../cbus/readwrite/model/LevelInformation.go       |   13 +-
 .../cbus/readwrite/model/LevelInformationAbsent.go |    6 +-
 .../readwrite/model/LevelInformationCorrupted.go   |    6 +-
 .../readwrite/model/LevelInformationNibblePair.go  |    6 +-
 .../cbus/readwrite/model/LevelInformationNormal.go |   10 +-
 .../cbus/readwrite/model/LightingCommandType.go    |    6 +-
 .../model/LightingCommandTypeContainer.go          |    6 +-
 .../cbus/readwrite/model/LightingCompatible.go     |    6 +-
 .../protocols/cbus/readwrite/model/LightingData.go |   19 +-
 .../cbus/readwrite/model/LightingDataLabel.go      |   10 +-
 .../cbus/readwrite/model/LightingDataOff.go        |    6 +-
 .../cbus/readwrite/model/LightingDataOn.go         |    6 +-
 .../readwrite/model/LightingDataRampToLevel.go     |    6 +-
 .../readwrite/model/LightingDataTerminateRamp.go   |    6 +-
 .../cbus/readwrite/model/LightingLabelFlavour.go   |    6 +-
 .../cbus/readwrite/model/LightingLabelOptions.go   |   10 +-
 .../cbus/readwrite/model/LightingLabelType.go      |    6 +-
 .../cbus/readwrite/model/LineOffHookReason.go      |    6 +-
 .../cbus/readwrite/model/LogicAssignment.go        |    6 +-
 .../cbus/readwrite/model/MeasurementCommandType.go |    6 +-
 .../model/MeasurementCommandTypeContainer.go       |    6 +-
 .../cbus/readwrite/model/MeasurementData.go        |   11 +-
 .../model/MeasurementDataChannelMeasurementData.go |    8 +-
 .../cbus/readwrite/model/MeasurementUnits.go       |    6 +-
 .../model/MediaTransportControlCommandType.go      |    6 +-
 .../MediaTransportControlCommandTypeContainer.go   |    6 +-
 .../readwrite/model/MediaTransportControlData.go   |   51 +-
 .../model/MediaTransportControlDataCategoryName.go |    6 +-
 ...ontrolDataEnumerateCategoriesSelectionTracks.go |    6 +-
 .../MediaTransportControlDataEnumerationsSize.go   |    6 +-
 .../model/MediaTransportControlDataFastForward.go  |    6 +-
 ...ediaTransportControlDataNextPreviousCategory.go |    6 +-
 ...diaTransportControlDataNextPreviousSelection.go |    6 +-
 .../MediaTransportControlDataNextPreviousTrack.go  |    6 +-
 .../model/MediaTransportControlDataPauseResume.go  |    6 +-
 .../model/MediaTransportControlDataPlay.go         |    6 +-
 .../model/MediaTransportControlDataRepeatOnOff.go  |    6 +-
 .../model/MediaTransportControlDataRewind.go       |    6 +-
 .../MediaTransportControlDataSelectionName.go      |    6 +-
 .../model/MediaTransportControlDataSetCategory.go  |    6 +-
 .../model/MediaTransportControlDataSetSelection.go |    6 +-
 .../model/MediaTransportControlDataSetTrack.go     |    6 +-
 .../model/MediaTransportControlDataShuffleOnOff.go |    6 +-
 .../MediaTransportControlDataSourcePowerControl.go |    6 +-
 .../MediaTransportControlDataStatusRequest.go      |    6 +-
 .../model/MediaTransportControlDataStop.go         |    6 +-
 .../model/MediaTransportControlDataTotalTracks.go  |    6 +-
 .../model/MediaTransportControlDataTrackName.go    |    6 +-
 .../cbus/readwrite/model/MeteringCommandType.go    |    6 +-
 .../model/MeteringCommandTypeContainer.go          |    6 +-
 .../protocols/cbus/readwrite/model/MeteringData.go |   29 +-
 .../model/MeteringDataDrinkingWaterConsumption.go  |    6 +-
 .../model/MeteringDataElectricityConsumption.go    |    6 +-
 .../readwrite/model/MeteringDataGasConsumption.go  |    6 +-
 .../model/MeteringDataMeasureDrinkingWater.go      |    6 +-
 .../model/MeteringDataMeasureElectricity.go        |    6 +-
 .../cbus/readwrite/model/MeteringDataMeasureGas.go |    6 +-
 .../cbus/readwrite/model/MeteringDataMeasureOil.go |    6 +-
 .../model/MeteringDataMeasureOtherWater.go         |    6 +-
 .../readwrite/model/MeteringDataOilConsumption.go  |    6 +-
 .../model/MeteringDataOtherWaterConsumption.go     |    6 +-
 .../protocols/cbus/readwrite/model/MonitoredSAL.go |   11 +-
 .../model/MonitoredSALLongFormSmartMode.go         |   16 +-
 .../cbus/readwrite/model/MonitoredSALReply.go      |    8 +-
 .../model/MonitoredSALShortFormBasicMode.go        |   10 +-
 .../model/NetworkProtocolControlInformation.go     |    6 +-
 .../protocols/cbus/readwrite/model/NetworkRoute.go |   10 +-
 .../protocols/cbus/readwrite/model/PanicStatus.go  |    6 +-
 plc4go/protocols/cbus/readwrite/model/Parameter.go |    6 +-
 .../cbus/readwrite/model/ParameterChange.go        |    6 +-
 .../cbus/readwrite/model/ParameterChangeReply.go   |    8 +-
 .../cbus/readwrite/model/ParameterType.go          |    6 +-
 .../cbus/readwrite/model/ParameterValue.go         |   29 +-
 .../model/ParameterValueApplicationAddress1.go     |    8 +-
 .../model/ParameterValueApplicationAddress2.go     |    8 +-
 .../model/ParameterValueBaudRateSelector.go        |    8 +-
 .../model/ParameterValueCustomManufacturer.go      |    8 +-
 .../readwrite/model/ParameterValueCustomTypes.go   |    8 +-
 .../model/ParameterValueInterfaceOptions1.go       |    8 +-
 ...rameterValueInterfaceOptions1PowerUpSettings.go |    8 +-
 .../model/ParameterValueInterfaceOptions2.go       |    8 +-
 .../model/ParameterValueInterfaceOptions3.go       |    8 +-
 .../cbus/readwrite/model/ParameterValueRaw.go      |    6 +-
 .../readwrite/model/ParameterValueSerialNumber.go  |    8 +-
 plc4go/protocols/cbus/readwrite/model/PowerUp.go   |    6 +-
 .../protocols/cbus/readwrite/model/PowerUpReply.go |    8 +-
 .../cbus/readwrite/model/PriorityClass.go          |    6 +-
 .../cbus/readwrite/model/ProtectionLevel.go        |    6 +-
 plc4go/protocols/cbus/readwrite/model/Reply.go     |   13 +-
 .../cbus/readwrite/model/ReplyEncodedReply.go      |    6 +-
 .../protocols/cbus/readwrite/model/ReplyNetwork.go |   10 +-
 .../cbus/readwrite/model/ReplyOrConfirmation.go    |   13 +-
 .../model/ReplyOrConfirmationConfirmation.go       |   10 +-
 .../readwrite/model/ReplyOrConfirmationReply.go    |   10 +-
 plc4go/protocols/cbus/readwrite/model/Request.go   |   31 +-
 .../cbus/readwrite/model/RequestCommand.go         |    8 +-
 .../cbus/readwrite/model/RequestContext.go         |    6 +-
 .../readwrite/model/RequestDirectCommandAccess.go  |    8 +-
 .../protocols/cbus/readwrite/model/RequestEmpty.go |    6 +-
 .../protocols/cbus/readwrite/model/RequestNull.go  |    6 +-
 .../cbus/readwrite/model/RequestObsolete.go        |    8 +-
 .../protocols/cbus/readwrite/model/RequestReset.go |   14 +-
 .../readwrite/model/RequestSmartConnectShortcut.go |    8 +-
 .../cbus/readwrite/model/RequestTermination.go     |    6 +-
 .../protocols/cbus/readwrite/model/RequestType.go  |    6 +-
 .../cbus/readwrite/model/ResponseTermination.go    |    6 +-
 plc4go/protocols/cbus/readwrite/model/SALData.go   |   55 +-
 .../cbus/readwrite/model/SALDataAccessControl.go   |    8 +-
 .../cbus/readwrite/model/SALDataAirConditioning.go |    8 +-
 .../cbus/readwrite/model/SALDataAudioAndVideo.go   |    8 +-
 .../readwrite/model/SALDataClockAndTimekeeping.go  |    8 +-
 .../cbus/readwrite/model/SALDataEnableControl.go   |    8 +-
 .../cbus/readwrite/model/SALDataErrorReporting.go  |    8 +-
 .../cbus/readwrite/model/SALDataFreeUsage.go       |    6 +-
 .../cbus/readwrite/model/SALDataHeating.go         |    8 +-
 .../cbus/readwrite/model/SALDataHvacActuator.go    |    8 +-
 .../readwrite/model/SALDataIrrigationControl.go    |    8 +-
 .../cbus/readwrite/model/SALDataLighting.go        |    8 +-
 .../cbus/readwrite/model/SALDataMeasurement.go     |    8 +-
 .../cbus/readwrite/model/SALDataMediaTransport.go  |    8 +-
 .../cbus/readwrite/model/SALDataMetering.go        |    8 +-
 .../model/SALDataPoolsSpasPondsFountainsControl.go |    8 +-
 .../cbus/readwrite/model/SALDataReserved.go        |    6 +-
 .../readwrite/model/SALDataRoomControlSystem.go    |    6 +-
 .../cbus/readwrite/model/SALDataSecurity.go        |    8 +-
 .../model/SALDataTelephonyStatusAndControl.go      |    8 +-
 .../readwrite/model/SALDataTemperatureBroadcast.go |    8 +-
 .../cbus/readwrite/model/SALDataTesting.go         |    6 +-
 .../cbus/readwrite/model/SALDataTriggerControl.go  |    8 +-
 .../cbus/readwrite/model/SALDataVentilation.go     |    8 +-
 .../cbus/readwrite/model/SecurityArmCode.go        |    6 +-
 .../cbus/readwrite/model/SecurityCommandType.go    |    6 +-
 .../model/SecurityCommandTypeContainer.go          |    6 +-
 .../protocols/cbus/readwrite/model/SecurityData.go |  105 +-
 .../cbus/readwrite/model/SecurityDataAlarmOff.go   |    6 +-
 .../cbus/readwrite/model/SecurityDataAlarmOn.go    |    6 +-
 .../model/SecurityDataArmFailedCleared.go          |    6 +-
 .../readwrite/model/SecurityDataArmFailedRaised.go |    6 +-
 .../model/SecurityDataArmReadyNotReady.go          |    6 +-
 .../cbus/readwrite/model/SecurityDataArmSystem.go  |    6 +-
 .../model/SecurityDataCurrentAlarmType.go          |    6 +-
 .../readwrite/model/SecurityDataDisplayMessage.go  |    6 +-
 .../cbus/readwrite/model/SecurityDataDropTamper.go |    6 +-
 .../readwrite/model/SecurityDataEmulatedKeypad.go  |    6 +-
 .../model/SecurityDataEntryDelayStarted.go         |    6 +-
 .../cbus/readwrite/model/SecurityDataEvent.go      |    6 +-
 .../model/SecurityDataExitDelayStarted.go          |    6 +-
 .../model/SecurityDataFireAlarmCleared.go          |    6 +-
 .../readwrite/model/SecurityDataFireAlarmRaised.go |    6 +-
 .../readwrite/model/SecurityDataGasAlarmCleared.go |    6 +-
 .../readwrite/model/SecurityDataGasAlarmRaised.go  |    6 +-
 .../model/SecurityDataLineCutAlarmCleared.go       |    6 +-
 .../model/SecurityDataLineCutAlarmRaised.go        |    6 +-
 .../model/SecurityDataLowBatteryCharging.go        |    6 +-
 .../model/SecurityDataLowBatteryCorrected.go       |    6 +-
 .../model/SecurityDataLowBatteryDetected.go        |    6 +-
 .../readwrite/model/SecurityDataMainsFailure.go    |    6 +-
 .../model/SecurityDataMainsRestoredOrApplied.go    |    6 +-
 .../cbus/readwrite/model/SecurityDataOff.go        |    6 +-
 .../cbus/readwrite/model/SecurityDataOn.go         |    6 +-
 .../model/SecurityDataOtherAlarmCleared.go         |    6 +-
 .../model/SecurityDataOtherAlarmRaised.go          |    6 +-
 .../readwrite/model/SecurityDataPanicActivated.go  |    6 +-
 .../readwrite/model/SecurityDataPanicCleared.go    |    6 +-
 .../model/SecurityDataPasswordEntryStatus.go       |    6 +-
 .../cbus/readwrite/model/SecurityDataRaiseAlarm.go |    6 +-
 .../readwrite/model/SecurityDataRaiseTamper.go     |    6 +-
 .../readwrite/model/SecurityDataRequestZoneName.go |    6 +-
 .../readwrite/model/SecurityDataStatus1Request.go  |    6 +-
 .../readwrite/model/SecurityDataStatus2Request.go  |    6 +-
 .../readwrite/model/SecurityDataStatusReport1.go   |   14 +-
 .../readwrite/model/SecurityDataStatusReport2.go   |    8 +-
 .../model/SecurityDataSystemArmedDisarmed.go       |    8 +-
 .../readwrite/model/SecurityDataSystemDisarmed.go  |    6 +-
 .../cbus/readwrite/model/SecurityDataTamperOff.go  |    6 +-
 .../cbus/readwrite/model/SecurityDataTamperOn.go   |    6 +-
 .../readwrite/model/SecurityDataZoneIsolated.go    |    6 +-
 .../cbus/readwrite/model/SecurityDataZoneName.go   |    6 +-
 .../cbus/readwrite/model/SecurityDataZoneOpen.go   |    6 +-
 .../cbus/readwrite/model/SecurityDataZoneSealed.go |    6 +-
 .../cbus/readwrite/model/SecurityDataZoneShort.go  |    6 +-
 .../readwrite/model/SecurityDataZoneUnsealed.go    |    6 +-
 .../cbus/readwrite/model/SerialInterfaceAddress.go |    6 +-
 .../protocols/cbus/readwrite/model/SerialNumber.go |    6 +-
 .../cbus/readwrite/model/ServerErrorReply.go       |    6 +-
 .../protocols/cbus/readwrite/model/StaticHelper.go |    6 +-
 .../protocols/cbus/readwrite/model/StatusByte.go   |   14 +-
 .../protocols/cbus/readwrite/model/StatusCoding.go |    6 +-
 .../cbus/readwrite/model/StatusRequest.go          |   13 +-
 .../readwrite/model/StatusRequestBinaryState.go    |    8 +-
 .../model/StatusRequestBinaryStateDeprecated.go    |    8 +-
 .../cbus/readwrite/model/StatusRequestLevel.go     |    8 +-
 .../protocols/cbus/readwrite/model/TamperStatus.go |    6 +-
 .../cbus/readwrite/model/TelephonyCommandType.go   |    6 +-
 .../model/TelephonyCommandTypeContainer.go         |    6 +-
 .../cbus/readwrite/model/TelephonyData.go          |   33 +-
 .../readwrite/model/TelephonyDataClearDiversion.go |    6 +-
 .../readwrite/model/TelephonyDataDialInFailure.go  |    8 +-
 .../readwrite/model/TelephonyDataDialOutFailure.go |    8 +-
 .../cbus/readwrite/model/TelephonyDataDivert.go    |    6 +-
 .../TelephonyDataInternetConnectionRequestMade.go  |    6 +-
 .../model/TelephonyDataIsolateSecondaryOutlet.go   |    6 +-
 .../readwrite/model/TelephonyDataLineOffHook.go    |    8 +-
 .../readwrite/model/TelephonyDataLineOnHook.go     |    6 +-
 .../model/TelephonyDataRecallLastNumber.go         |    6 +-
 .../model/TelephonyDataRecallLastNumberRequest.go  |    6 +-
 .../model/TelephonyDataRejectIncomingCall.go       |    6 +-
 .../cbus/readwrite/model/TelephonyDataRinging.go   |    6 +-
 .../model/TemperatureBroadcastCommandType.go       |    6 +-
 .../TemperatureBroadcastCommandTypeContainer.go    |    6 +-
 .../readwrite/model/TemperatureBroadcastData.go    |    8 +-
 .../readwrite/model/TriggerControlCommandType.go   |    6 +-
 .../model/TriggerControlCommandTypeContainer.go    |    6 +-
 .../cbus/readwrite/model/TriggerControlData.go     |   19 +-
 .../model/TriggerControlDataIndicatorKill.go       |    6 +-
 .../readwrite/model/TriggerControlDataLabel.go     |   10 +-
 .../model/TriggerControlDataTriggerEvent.go        |    6 +-
 .../model/TriggerControlDataTriggerMax.go          |    6 +-
 .../model/TriggerControlDataTriggerMin.go          |    6 +-
 .../readwrite/model/TriggerControlLabelFlavour.go  |    6 +-
 .../readwrite/model/TriggerControlLabelOptions.go  |   10 +-
 .../readwrite/model/TriggerControlLabelType.go     |    6 +-
 .../protocols/cbus/readwrite/model/UnitAddress.go  |    6 +-
 .../protocols/cbus/readwrite/model/UnitStatus.go   |    6 +-
 .../protocols/cbus/readwrite/model/ZoneStatus.go   |    8 +-
 .../cbus/readwrite/model/ZoneStatusTemp.go         |    6 +-
 plc4go/protocols/df1/readwrite/ParserHelper.go     |    4 +-
 plc4go/protocols/df1/readwrite/XmlParserHelper.go  |    4 +-
 plc4go/protocols/df1/readwrite/model/DF1Command.go |   11 +-
 plc4go/protocols/df1/readwrite/model/DF1Symbol.go  |   13 +-
 .../df1/readwrite/model/DF1SymbolMessageFrame.go   |    8 +-
 .../readwrite/model/DF1SymbolMessageFrameACK.go    |    6 +-
 .../readwrite/model/DF1SymbolMessageFrameNAK.go    |    6 +-
 .../readwrite/model/DF1UnprotectedReadRequest.go   |    6 +-
 .../readwrite/model/DF1UnprotectedReadResponse.go  |    6 +-
 plc4go/protocols/eip/readwrite/ParserHelper.go     |    8 +-
 plc4go/protocols/eip/readwrite/XmlParserHelper.go  |    8 +-
 .../eip/readwrite/model/CIPDataTypeCode.go         |    6 +-
 .../eip/readwrite/model/CIPStructTypeCode.go       |    6 +-
 .../protocols/eip/readwrite/model/CipExchange.go   |    8 +-
 plc4go/protocols/eip/readwrite/model/CipRRData.go  |    8 +-
 .../eip/readwrite/model/CipReadRequest.go          |    6 +-
 .../eip/readwrite/model/CipReadResponse.go         |    8 +-
 plc4go/protocols/eip/readwrite/model/CipService.go |   21 +-
 .../eip/readwrite/model/CipUnconnectedRequest.go   |    8 +-
 .../eip/readwrite/model/CipWriteRequest.go         |    8 +-
 .../eip/readwrite/model/CipWriteResponse.go        |    6 +-
 plc4go/protocols/eip/readwrite/model/EiPCommand.go |    6 +-
 .../eip/readwrite/model/EipConnectionRequest.go    |    6 +-
 .../eip/readwrite/model/EipDisconnectRequest.go    |    6 +-
 plc4go/protocols/eip/readwrite/model/EipPacket.go  |   13 +-
 .../eip/readwrite/model/MultipleServiceRequest.go  |    8 +-
 .../eip/readwrite/model/MultipleServiceResponse.go |    6 +-
 plc4go/protocols/eip/readwrite/model/Services.go   |    8 +-
 plc4go/protocols/firmata/readwrite/ParserHelper.go |    6 +-
 .../protocols/firmata/readwrite/XmlParserHelper.go |    6 +-
 .../firmata/readwrite/model/FirmataCommand.go      |   17 +-
 .../model/FirmataCommandProtocolVersion.go         |    6 +-
 .../model/FirmataCommandSetDigitalPinValue.go      |    6 +-
 .../readwrite/model/FirmataCommandSetPinMode.go    |    8 +-
 .../firmata/readwrite/model/FirmataCommandSysex.go |    8 +-
 .../readwrite/model/FirmataCommandSystemReset.go   |    6 +-
 .../firmata/readwrite/model/FirmataMessage.go      |   17 +-
 .../readwrite/model/FirmataMessageAnalogIO.go      |    6 +-
 .../readwrite/model/FirmataMessageCommand.go       |    8 +-
 .../readwrite/model/FirmataMessageDigitalIO.go     |    6 +-
 .../model/FirmataMessageSubscribeAnalogPinValue.go |    6 +-
 .../FirmataMessageSubscribeDigitalPinValue.go      |    6 +-
 .../protocols/firmata/readwrite/model/PinMode.go   |    6 +-
 .../firmata/readwrite/model/SysexCommand.go        |   37 +-
 .../model/SysexCommandAnalogMappingQueryRequest.go |    6 +-
 .../SysexCommandAnalogMappingQueryResponse.go      |    6 +-
 .../model/SysexCommandAnalogMappingResponse.go     |    6 +-
 .../readwrite/model/SysexCommandCapabilityQuery.go |    6 +-
 .../model/SysexCommandCapabilityResponse.go        |    6 +-
 .../readwrite/model/SysexCommandExtendedAnalog.go  |    6 +-
 .../readwrite/model/SysexCommandExtendedId.go      |    6 +-
 .../readwrite/model/SysexCommandPinStateQuery.go   |    6 +-
 .../model/SysexCommandPinStateResponse.go          |    6 +-
 .../model/SysexCommandReportFirmwareRequest.go     |    6 +-
 .../model/SysexCommandReportFirmwareResponse.go    |    6 +-
 .../model/SysexCommandSamplingInterval.go          |    6 +-
 .../readwrite/model/SysexCommandStringData.go      |    6 +-
 .../model/SysexCommandSysexNonRealtime.go          |    6 +-
 .../readwrite/model/SysexCommandSysexRealtime.go   |    6 +-
 .../protocols/knxnetip/readwrite/ParserHelper.go   |   74 +-
 .../knxnetip/readwrite/XmlParserHelper.go          |   74 +-
 .../knxnetip/readwrite/model/AccessLevel.go        |    6 +-
 plc4go/protocols/knxnetip/readwrite/model/Apdu.go  |   11 +-
 .../knxnetip/readwrite/model/ApduControl.go        |   15 +-
 .../knxnetip/readwrite/model/ApduControlAck.go     |    6 +-
 .../knxnetip/readwrite/model/ApduControlConnect.go |    6 +-
 .../readwrite/model/ApduControlContainer.go        |    8 +-
 .../readwrite/model/ApduControlDisconnect.go       |    6 +-
 .../knxnetip/readwrite/model/ApduControlNack.go    |    6 +-
 .../protocols/knxnetip/readwrite/model/ApduData.go |   39 +-
 .../knxnetip/readwrite/model/ApduDataAdcRead.go    |    6 +-
 .../readwrite/model/ApduDataAdcResponse.go         |    6 +-
 .../knxnetip/readwrite/model/ApduDataContainer.go  |    8 +-
 .../model/ApduDataDeviceDescriptorRead.go          |    6 +-
 .../model/ApduDataDeviceDescriptorResponse.go      |    6 +-
 .../knxnetip/readwrite/model/ApduDataExt.go        |   89 +-
 .../readwrite/model/ApduDataExtAuthorizeRequest.go |    6 +-
 .../model/ApduDataExtAuthorizeResponse.go          |    6 +-
 .../model/ApduDataExtDomainAddressRead.go          |    6 +-
 .../model/ApduDataExtDomainAddressResponse.go      |    6 +-
 .../model/ApduDataExtDomainAddressSelectiveRead.go |    6 +-
 .../ApduDataExtDomainAddressSerialNumberRead.go    |    6 +-
 ...ApduDataExtDomainAddressSerialNumberResponse.go |    6 +-
 .../ApduDataExtDomainAddressSerialNumberWrite.go   |    6 +-
 .../model/ApduDataExtDomainAddressWrite.go         |    6 +-
 .../model/ApduDataExtFileStreamInfoReport.go       |    6 +-
 .../ApduDataExtGroupPropertyValueInfoReport.go     |    6 +-
 .../model/ApduDataExtGroupPropertyValueRead.go     |    6 +-
 .../model/ApduDataExtGroupPropertyValueResponse.go |    6 +-
 .../model/ApduDataExtGroupPropertyValueWrite.go    |    6 +-
 ...ApduDataExtIndividualAddressSerialNumberRead.go |    6 +-
 ...DataExtIndividualAddressSerialNumberResponse.go |    6 +-
 ...pduDataExtIndividualAddressSerialNumberWrite.go |    6 +-
 .../readwrite/model/ApduDataExtKeyResponse.go      |    6 +-
 .../readwrite/model/ApduDataExtKeyWrite.go         |    6 +-
 .../readwrite/model/ApduDataExtLinkRead.go         |    6 +-
 .../readwrite/model/ApduDataExtLinkResponse.go     |    6 +-
 .../readwrite/model/ApduDataExtLinkWrite.go        |    6 +-
 .../readwrite/model/ApduDataExtMemoryBitWrite.go   |    6 +-
 .../model/ApduDataExtNetworkParameterRead.go       |    6 +-
 .../model/ApduDataExtNetworkParameterResponse.go   |    6 +-
 .../model/ApduDataExtNetworkParameterWrite.go      |    6 +-
 .../model/ApduDataExtOpenRoutingTableRequest.go    |    6 +-
 .../model/ApduDataExtPropertyDescriptionRead.go    |    6 +-
 .../ApduDataExtPropertyDescriptionResponse.go      |   12 +-
 .../model/ApduDataExtPropertyValueRead.go          |    6 +-
 .../model/ApduDataExtPropertyValueResponse.go      |    6 +-
 .../model/ApduDataExtPropertyValueWrite.go         |    6 +-
 .../model/ApduDataExtReadRouterMemoryRequest.go    |    6 +-
 .../model/ApduDataExtReadRouterMemoryResponse.go   |    6 +-
 .../model/ApduDataExtReadRouterStatusRequest.go    |    6 +-
 .../model/ApduDataExtReadRouterStatusResponse.go   |    6 +-
 .../model/ApduDataExtReadRoutingTableRequest.go    |    6 +-
 .../model/ApduDataExtReadRoutingTableResponse.go   |    6 +-
 .../model/ApduDataExtWriteRouterMemoryRequest.go   |    6 +-
 .../model/ApduDataExtWriteRouterStatusRequest.go   |    6 +-
 .../model/ApduDataExtWriteRoutingTableRequest.go   |    6 +-
 .../readwrite/model/ApduDataGroupValueRead.go      |    6 +-
 .../readwrite/model/ApduDataGroupValueResponse.go  |    6 +-
 .../readwrite/model/ApduDataGroupValueWrite.go     |    6 +-
 .../model/ApduDataIndividualAddressRead.go         |    6 +-
 .../model/ApduDataIndividualAddressResponse.go     |    6 +-
 .../model/ApduDataIndividualAddressWrite.go        |    6 +-
 .../knxnetip/readwrite/model/ApduDataMemoryRead.go |    6 +-
 .../readwrite/model/ApduDataMemoryResponse.go      |    6 +-
 .../readwrite/model/ApduDataMemoryWrite.go         |    6 +-
 .../knxnetip/readwrite/model/ApduDataOther.go      |    8 +-
 .../knxnetip/readwrite/model/ApduDataRestart.go    |    6 +-
 .../readwrite/model/ApduDataUserMessage.go         |    6 +-
 plc4go/protocols/knxnetip/readwrite/model/CEMI.go  |   53 +-
 .../readwrite/model/CEMIAdditionalInformation.go   |   11 +-
 .../CEMIAdditionalInformationBusmonitorInfo.go     |    6 +-
 .../CEMIAdditionalInformationRelativeTimestamp.go  |    8 +-
 .../knxnetip/readwrite/model/CEMIPriority.go       |    6 +-
 .../knxnetip/readwrite/model/ChannelInformation.go |    6 +-
 .../knxnetip/readwrite/model/ComObjectTable.go     |   13 +-
 .../readwrite/model/ComObjectTableAddresses.go     |    6 +-
 .../model/ComObjectTableRealisationType1.go        |    8 +-
 .../model/ComObjectTableRealisationType2.go        |    8 +-
 .../model/ComObjectTableRealisationType6.go        |    8 +-
 .../knxnetip/readwrite/model/ComObjectValueType.go |    6 +-
 .../knxnetip/readwrite/model/ConnectionRequest.go  |   12 +-
 .../model/ConnectionRequestInformation.go          |   11 +-
 ...ConnectionRequestInformationDeviceManagement.go |    6 +-
 ...ConnectionRequestInformationTunnelConnection.go |    8 +-
 .../knxnetip/readwrite/model/ConnectionResponse.go |   12 +-
 .../readwrite/model/ConnectionResponseDataBlock.go |   11 +-
 .../ConnectionResponseDataBlockDeviceManagement.go |    6 +-
 .../ConnectionResponseDataBlockTunnelConnection.go |    8 +-
 .../readwrite/model/ConnectionStateRequest.go      |    8 +-
 .../readwrite/model/ConnectionStateResponse.go     |    8 +-
 .../knxnetip/readwrite/model/DIBDeviceInfo.go      |   18 +-
 .../knxnetip/readwrite/model/DIBSuppSvcFamilies.go |    8 +-
 .../knxnetip/readwrite/model/DescriptionRequest.go |    8 +-
 .../readwrite/model/DescriptionResponse.go         |   10 +-
 .../readwrite/model/DeviceConfigurationAck.go      |    8 +-
 .../model/DeviceConfigurationAckDataBlock.go       |    8 +-
 .../readwrite/model/DeviceConfigurationRequest.go  |   10 +-
 .../model/DeviceConfigurationRequestDataBlock.go   |    6 +-
 .../knxnetip/readwrite/model/DeviceDescriptor.go   |    6 +-
 .../readwrite/model/DeviceDescriptorMediumType.go  |    6 +-
 .../readwrite/model/DeviceDescriptorType2.go       |   14 +-
 .../knxnetip/readwrite/model/DeviceStatus.go       |    6 +-
 .../knxnetip/readwrite/model/DisconnectRequest.go  |    8 +-
 .../knxnetip/readwrite/model/DisconnectResponse.go |    8 +-
 .../knxnetip/readwrite/model/FirmwareType.go       |    6 +-
 .../model/GroupObjectDescriptorRealisationType1.go |   10 +-
 .../model/GroupObjectDescriptorRealisationType2.go |   10 +-
 .../model/GroupObjectDescriptorRealisationType6.go |    6 +-
 .../model/GroupObjectDescriptorRealisationType7.go |   10 +-
 .../model/GroupObjectDescriptorRealisationTypeB.go |   10 +-
 .../readwrite/model/HPAIControlEndpoint.go         |   10 +-
 .../knxnetip/readwrite/model/HPAIDataEndpoint.go   |   10 +-
 .../readwrite/model/HPAIDiscoveryEndpoint.go       |   10 +-
 .../knxnetip/readwrite/model/HostProtocolCode.go   |    6 +-
 .../knxnetip/readwrite/model/IPAddress.go          |    6 +-
 .../knxnetip/readwrite/model/KnxAddress.go         |    6 +-
 .../knxnetip/readwrite/model/KnxDatapoint.go       |    6 +-
 .../readwrite/model/KnxDatapointMainType.go        |    6 +-
 .../knxnetip/readwrite/model/KnxDatapointType.go   |    6 +-
 .../knxnetip/readwrite/model/KnxGroupAddress.go    |   13 +-
 .../readwrite/model/KnxGroupAddress2Level.go       |    6 +-
 .../readwrite/model/KnxGroupAddress3Level.go       |    6 +-
 .../readwrite/model/KnxGroupAddressFreeLevel.go    |    6 +-
 .../readwrite/model/KnxInterfaceObjectProperty.go  |    6 +-
 .../readwrite/model/KnxInterfaceObjectType.go      |    6 +-
 .../protocols/knxnetip/readwrite/model/KnxLayer.go |    6 +-
 .../knxnetip/readwrite/model/KnxManufacturer.go    |    6 +-
 .../knxnetip/readwrite/model/KnxMedium.go          |    6 +-
 .../knxnetip/readwrite/model/KnxNetIpCore.go       |    6 +-
 .../readwrite/model/KnxNetIpDeviceManagement.go    |    6 +-
 .../knxnetip/readwrite/model/KnxNetIpMessage.go    |   39 +-
 .../knxnetip/readwrite/model/KnxNetIpRouting.go    |    6 +-
 .../knxnetip/readwrite/model/KnxNetIpTunneling.go  |    6 +-
 .../knxnetip/readwrite/model/KnxNetObjectServer.go |    6 +-
 .../model/KnxNetRemoteConfigurationAndDiagnosis.go |    6 +-
 .../readwrite/model/KnxNetRemoteLogging.go         |    6 +-
 .../knxnetip/readwrite/model/KnxProperty.go        |    6 +-
 .../readwrite/model/KnxPropertyDataType.go         |    6 +-
 .../knxnetip/readwrite/model/LBusmonInd.go         |   10 +-
 .../protocols/knxnetip/readwrite/model/LDataCon.go |   10 +-
 .../knxnetip/readwrite/model/LDataExtended.go      |   10 +-
 .../knxnetip/readwrite/model/LDataFrame.go         |   15 +-
 .../knxnetip/readwrite/model/LDataFrameACK.go      |    6 +-
 .../protocols/knxnetip/readwrite/model/LDataInd.go |   10 +-
 .../protocols/knxnetip/readwrite/model/LDataReq.go |   10 +-
 .../knxnetip/readwrite/model/LPollData.go          |    8 +-
 .../knxnetip/readwrite/model/LPollDataCon.go       |    6 +-
 .../knxnetip/readwrite/model/LPollDataReq.go       |    6 +-
 .../protocols/knxnetip/readwrite/model/LRawCon.go  |    6 +-
 .../protocols/knxnetip/readwrite/model/LRawInd.go  |    6 +-
 .../protocols/knxnetip/readwrite/model/LRawReq.go  |    6 +-
 .../knxnetip/readwrite/model/MACAddress.go         |    6 +-
 .../readwrite/model/MFuncPropCommandReq.go         |    6 +-
 .../knxnetip/readwrite/model/MFuncPropCon.go       |    6 +-
 .../readwrite/model/MFuncPropStateReadReq.go       |    6 +-
 .../knxnetip/readwrite/model/MPropInfoInd.go       |    6 +-
 .../knxnetip/readwrite/model/MPropReadCon.go       |    6 +-
 .../knxnetip/readwrite/model/MPropReadReq.go       |    6 +-
 .../knxnetip/readwrite/model/MPropWriteCon.go      |    6 +-
 .../knxnetip/readwrite/model/MPropWriteReq.go      |    6 +-
 .../knxnetip/readwrite/model/MResetInd.go          |    6 +-
 .../knxnetip/readwrite/model/MResetReq.go          |    6 +-
 .../model/ProjectInstallationIdentifier.go         |    6 +-
 .../knxnetip/readwrite/model/RelativeTimestamp.go  |    6 +-
 .../knxnetip/readwrite/model/RoutingIndication.go  |    6 +-
 .../knxnetip/readwrite/model/SearchRequest.go      |    8 +-
 .../knxnetip/readwrite/model/SearchResponse.go     |   12 +-
 .../knxnetip/readwrite/model/ServiceId.go          |   21 +-
 .../protocols/knxnetip/readwrite/model/Status.go   |    6 +-
 .../readwrite/model/SupportedPhysicalMedia.go      |    6 +-
 .../knxnetip/readwrite/model/TDataConnectedInd.go  |    6 +-
 .../knxnetip/readwrite/model/TDataConnectedReq.go  |    6 +-
 .../knxnetip/readwrite/model/TDataIndividualInd.go |    6 +-
 .../knxnetip/readwrite/model/TDataIndividualReq.go |    6 +-
 .../knxnetip/readwrite/model/TunnelingRequest.go   |   10 +-
 .../readwrite/model/TunnelingRequestDataBlock.go   |    6 +-
 .../knxnetip/readwrite/model/TunnelingResponse.go  |    8 +-
 .../readwrite/model/TunnelingResponseDataBlock.go  |    8 +-
 .../knxnetip/readwrite/model/UnknownMessage.go     |    6 +-
 plc4go/protocols/modbus/readwrite/ParserHelper.go  |   18 +-
 .../protocols/modbus/readwrite/XmlParserHelper.go  |   18 +-
 .../protocols/modbus/readwrite/model/DataItem.go   |    6 +-
 .../protocols/modbus/readwrite/model/DriverType.go |    6 +-
 .../protocols/modbus/readwrite/model/ModbusADU.go  |   13 +-
 .../modbus/readwrite/model/ModbusAsciiADU.go       |    8 +-
 .../modbus/readwrite/model/ModbusConstants.go      |    6 +-
 .../modbus/readwrite/model/ModbusDataType.go       |    6 +-
 .../ModbusDeviceInformationConformityLevel.go      |    6 +-
 .../model/ModbusDeviceInformationLevel.go          |    6 +-
 .../model/ModbusDeviceInformationMoreFollows.go    |    6 +-
 .../model/ModbusDeviceInformationObject.go         |    6 +-
 .../modbus/readwrite/model/ModbusErrorCode.go      |    6 +-
 .../protocols/modbus/readwrite/model/ModbusPDU.go  |   85 +-
 .../readwrite/model/ModbusPDUDiagnosticRequest.go  |    6 +-
 .../readwrite/model/ModbusPDUDiagnosticResponse.go |    6 +-
 .../modbus/readwrite/model/ModbusPDUError.go       |    8 +-
 .../model/ModbusPDUGetComEventCounterRequest.go    |    6 +-
 .../model/ModbusPDUGetComEventCounterResponse.go   |    6 +-
 .../model/ModbusPDUGetComEventLogRequest.go        |    6 +-
 .../model/ModbusPDUGetComEventLogResponse.go       |    6 +-
 .../ModbusPDUMaskWriteHoldingRegisterRequest.go    |    6 +-
 .../ModbusPDUMaskWriteHoldingRegisterResponse.go   |    6 +-
 .../readwrite/model/ModbusPDUReadCoilsRequest.go   |    6 +-
 .../readwrite/model/ModbusPDUReadCoilsResponse.go  |    6 +-
 .../ModbusPDUReadDeviceIdentificationRequest.go    |    8 +-
 .../ModbusPDUReadDeviceIdentificationResponse.go   |   14 +-
 .../model/ModbusPDUReadDiscreteInputsRequest.go    |    6 +-
 .../model/ModbusPDUReadDiscreteInputsResponse.go   |    6 +-
 .../model/ModbusPDUReadExceptionStatusRequest.go   |    6 +-
 .../model/ModbusPDUReadExceptionStatusResponse.go  |    6 +-
 .../model/ModbusPDUReadFifoQueueRequest.go         |    6 +-
 .../model/ModbusPDUReadFifoQueueResponse.go        |    6 +-
 .../model/ModbusPDUReadFileRecordRequest.go        |    8 +-
 .../model/ModbusPDUReadFileRecordRequestItem.go    |    6 +-
 .../model/ModbusPDUReadFileRecordResponse.go       |    8 +-
 .../model/ModbusPDUReadFileRecordResponseItem.go   |    6 +-
 .../model/ModbusPDUReadHoldingRegistersRequest.go  |    6 +-
 .../model/ModbusPDUReadHoldingRegistersResponse.go |    6 +-
 .../model/ModbusPDUReadInputRegistersRequest.go    |    6 +-
 .../model/ModbusPDUReadInputRegistersResponse.go   |    6 +-
 ...sPDUReadWriteMultipleHoldingRegistersRequest.go |    6 +-
 ...PDUReadWriteMultipleHoldingRegistersResponse.go |    6 +-
 .../model/ModbusPDUReportServerIdRequest.go        |    6 +-
 .../model/ModbusPDUReportServerIdResponse.go       |    6 +-
 .../model/ModbusPDUWriteFileRecordRequest.go       |    8 +-
 .../model/ModbusPDUWriteFileRecordRequestItem.go   |    6 +-
 .../model/ModbusPDUWriteFileRecordResponse.go      |    8 +-
 .../model/ModbusPDUWriteFileRecordResponseItem.go  |    6 +-
 .../model/ModbusPDUWriteMultipleCoilsRequest.go    |    6 +-
 .../model/ModbusPDUWriteMultipleCoilsResponse.go   |    6 +-
 ...odbusPDUWriteMultipleHoldingRegistersRequest.go |    6 +-
 ...dbusPDUWriteMultipleHoldingRegistersResponse.go |    6 +-
 .../model/ModbusPDUWriteSingleCoilRequest.go       |    6 +-
 .../model/ModbusPDUWriteSingleCoilResponse.go      |    6 +-
 .../model/ModbusPDUWriteSingleRegisterRequest.go   |    6 +-
 .../model/ModbusPDUWriteSingleRegisterResponse.go  |    6 +-
 .../modbus/readwrite/model/ModbusRtuADU.go         |    8 +-
 .../modbus/readwrite/model/ModbusTcpADU.go         |    8 +-
 plc4go/protocols/s7/readwrite/ParserHelper.go      |   56 +-
 plc4go/protocols/s7/readwrite/XmlParserHelper.go   |   56 +-
 .../model/AlarmMessageAckObjectPushType.go         |   12 +-
 .../s7/readwrite/model/AlarmMessageAckPushType.go  |   10 +-
 .../readwrite/model/AlarmMessageAckResponseType.go |    6 +-
 .../s7/readwrite/model/AlarmMessageAckType.go      |    8 +-
 .../readwrite/model/AlarmMessageObjectAckType.go   |   12 +-
 .../readwrite/model/AlarmMessageObjectPushType.go  |   18 +-
 .../readwrite/model/AlarmMessageObjectQueryType.go |   20 +-
 .../s7/readwrite/model/AlarmMessagePushType.go     |   10 +-
 .../s7/readwrite/model/AlarmMessageQueryType.go    |   12 +-
 .../protocols/s7/readwrite/model/AlarmStateType.go |    6 +-
 plc4go/protocols/s7/readwrite/model/AlarmType.go   |    6 +-
 .../s7/readwrite/model/AssociatedValueType.go      |   10 +-
 plc4go/protocols/s7/readwrite/model/COTPPacket.go  |   23 +-
 .../readwrite/model/COTPPacketConnectionRequest.go |    8 +-
 .../model/COTPPacketConnectionResponse.go          |    8 +-
 .../protocols/s7/readwrite/model/COTPPacketData.go |    6 +-
 .../readwrite/model/COTPPacketDisconnectRequest.go |    8 +-
 .../model/COTPPacketDisconnectResponse.go          |    6 +-
 .../s7/readwrite/model/COTPPacketTpduError.go      |    6 +-
 .../protocols/s7/readwrite/model/COTPParameter.go  |   17 +-
 .../s7/readwrite/model/COTPParameterCalledTsap.go  |    6 +-
 .../s7/readwrite/model/COTPParameterCallingTsap.go |    6 +-
 .../s7/readwrite/model/COTPParameterChecksum.go    |    6 +-
 ...COTPParameterDisconnectAdditionalInformation.go |    6 +-
 .../s7/readwrite/model/COTPParameterTpduSize.go    |    8 +-
 .../s7/readwrite/model/COTPProtocolClass.go        |    6 +-
 .../protocols/s7/readwrite/model/COTPTpduSize.go   |    6 +-
 .../s7/readwrite/model/CpuSubscribeEvents.go       |    6 +-
 plc4go/protocols/s7/readwrite/model/DataItem.go    |    6 +-
 .../s7/readwrite/model/DataTransportErrorCode.go   |    6 +-
 .../s7/readwrite/model/DataTransportSize.go        |    6 +-
 plc4go/protocols/s7/readwrite/model/DateAndTime.go |    6 +-
 plc4go/protocols/s7/readwrite/model/DeviceGroup.go |    6 +-
 plc4go/protocols/s7/readwrite/model/EventType.go   |    6 +-
 plc4go/protocols/s7/readwrite/model/MemoryArea.go  |    6 +-
 .../s7/readwrite/model/ModeTransitionType.go       |    6 +-
 plc4go/protocols/s7/readwrite/model/QueryType.go   |    6 +-
 plc4go/protocols/s7/readwrite/model/S7Address.go   |    9 +-
 .../protocols/s7/readwrite/model/S7AddressAny.go   |    8 +-
 .../s7/readwrite/model/S7DataAlarmMessage.go       |   11 +-
 plc4go/protocols/s7/readwrite/model/S7Message.go   |   19 +-
 .../s7/readwrite/model/S7MessageObjectRequest.go   |   12 +-
 .../s7/readwrite/model/S7MessageObjectResponse.go  |   10 +-
 .../s7/readwrite/model/S7MessageRequest.go         |    6 +-
 .../s7/readwrite/model/S7MessageResponse.go        |    6 +-
 .../s7/readwrite/model/S7MessageResponseData.go    |    6 +-
 .../s7/readwrite/model/S7MessageUserData.go        |    6 +-
 plc4go/protocols/s7/readwrite/model/S7Parameter.go |   21 +-
 .../readwrite/model/S7ParameterModeTransition.go   |    6 +-
 .../readwrite/model/S7ParameterReadVarRequest.go   |    8 +-
 .../readwrite/model/S7ParameterReadVarResponse.go  |    6 +-
 .../model/S7ParameterSetupCommunication.go         |    6 +-
 .../s7/readwrite/model/S7ParameterUserData.go      |    8 +-
 .../s7/readwrite/model/S7ParameterUserDataItem.go  |    9 +-
 .../model/S7ParameterUserDataItemCPUFunctions.go   |    6 +-
 .../readwrite/model/S7ParameterWriteVarRequest.go  |    8 +-
 .../readwrite/model/S7ParameterWriteVarResponse.go |    6 +-
 plc4go/protocols/s7/readwrite/model/S7Payload.go   |   15 +-
 .../s7/readwrite/model/S7PayloadAlarm8.go          |    8 +-
 .../s7/readwrite/model/S7PayloadAlarmAckInd.go     |    8 +-
 .../s7/readwrite/model/S7PayloadAlarmS.go          |    8 +-
 .../s7/readwrite/model/S7PayloadAlarmSC.go         |    8 +-
 .../s7/readwrite/model/S7PayloadAlarmSQ.go         |    8 +-
 .../readwrite/model/S7PayloadDiagnosticMessage.go  |    8 +-
 .../s7/readwrite/model/S7PayloadNotify.go          |    8 +-
 .../s7/readwrite/model/S7PayloadNotify8.go         |    8 +-
 .../s7/readwrite/model/S7PayloadReadVarResponse.go |    8 +-
 .../s7/readwrite/model/S7PayloadUserData.go        |    8 +-
 .../s7/readwrite/model/S7PayloadUserDataItem.go    |   47 +-
 .../S7PayloadUserDataItemCpuFunctionAlarmAck.go    |    8 +-
 ...yloadUserDataItemCpuFunctionAlarmAckResponse.go |    6 +-
 .../S7PayloadUserDataItemCpuFunctionAlarmQuery.go  |   12 +-
 ...oadUserDataItemCpuFunctionAlarmQueryResponse.go |   10 +-
 ...ayloadUserDataItemCpuFunctionMsgSubscription.go |    8 +-
 ...aItemCpuFunctionMsgSubscriptionAlarmResponse.go |    8 +-
 ...erDataItemCpuFunctionMsgSubscriptionResponse.go |    6 +-
 ...ataItemCpuFunctionMsgSubscriptionSysResponse.go |    6 +-
 ...PayloadUserDataItemCpuFunctionReadSzlRequest.go |    8 +-
 ...ayloadUserDataItemCpuFunctionReadSzlResponse.go |   10 +-
 .../s7/readwrite/model/S7PayloadWriteVarRequest.go |    8 +-
 .../readwrite/model/S7PayloadWriteVarResponse.go   |    8 +-
 .../s7/readwrite/model/S7VarPayloadDataItem.go     |   10 +-
 .../s7/readwrite/model/S7VarPayloadStatusItem.go   |    8 +-
 .../readwrite/model/S7VarRequestParameterItem.go   |    9 +-
 .../model/S7VarRequestParameterItemAddress.go      |    8 +-
 plc4go/protocols/s7/readwrite/model/State.go       |    6 +-
 .../protocols/s7/readwrite/model/SyntaxIdType.go   |    6 +-
 .../s7/readwrite/model/SzlDataTreeItem.go          |    6 +-
 plc4go/protocols/s7/readwrite/model/SzlId.go       |   10 +-
 .../s7/readwrite/model/SzlModuleTypeClass.go       |    6 +-
 plc4go/protocols/s7/readwrite/model/SzlSublist.go  |    6 +-
 plc4go/protocols/s7/readwrite/model/TPKTPacket.go  |    8 +-
 .../protocols/s7/readwrite/model/TransportSize.go  |    6 +-
 .../protocols/simulated/readwrite/ParserHelper.go  |    4 +-
 .../simulated/readwrite/XmlParserHelper.go         |    4 +-
 .../simulated/readwrite/model/DataItem.go          |    6 +-
 .../protocols/simulated/readwrite/model/Dummy.go   |    6 +-
 .../readwrite/model/SimulatedDataTypeSizes.go      |    6 +-
 plc4go/spi/testutils/DriverTestRunner.go           |    6 +-
 plc4go/spi/testutils/ParserSerializerTestRunner.go |    2 +-
 plc4go/spi/utils/ReadBufferByteBased.go            |   21 +-
 plc4go/spi/utils/ReadBufferByteBased_test.go       |   78 +-
 plc4go/tests/drivers/tests/ads_driver_test.go      |    2 +-
 plc4go/tests/drivers/tests/eip_driver_test.go      |    2 +-
 plc4go/tests/drivers/tests/knxnetip_driver_test.go |    2 +-
 plc4go/tests/drivers/tests/manual_bacnet_test.go   |    3 +-
 plc4go/tests/drivers/tests/modbus_driver_test.go   |    2 +-
 plc4go/tests/drivers/tests/s7_driver_test.go       |    2 +-
 .../internal/bacnetanalyzer/analyzer.go            |    3 +-
 .../internal/cbusanalyzer/analyzer.go              |    5 +-
 2323 files changed, 16449 insertions(+), 7333 deletions(-)

diff --git a/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
index 1ce4735f6..e2f6deff4 100644
--- a/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
@@ -745,7 +745,12 @@ func (m *_${type.name}) GetLengthInBytes() uint16 {
 
 <#assign hasParserArguments=parserArguments?has_content/>
 <#assign parserArgumentList><#if hasParserArguments><#list parserArguments as parserArgument>${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if></#assign>
-func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${parserArgumentList}</#if>) (${type.name}, error) {
+<#assign parserArgumentNameList><#if hasParserArguments><#list parserArguments as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if></#assign>
+func ${type.name}Parse(theBytes []byte<#if hasParserArguments>, ${parserArgumentList}</#if>) (${type.name}, error) {
+	return ${type.name}ParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))<#if hasParserArguments>, ${parserArgumentNameList}</#if>) <@emitImport import="encoding/binary" /> // TODO: get endianness from mspec
+}
+
+func ${type.name}ParseWithBuffer(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${parserArgumentList}</#if>) (${type.name}, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("${type.name}"); pullErr != nil {
@@ -835,7 +840,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
                                         </#list>
                                     </#if>
                                 </#assign>
-                                ${typeName}Parse(readBuffer${refParams})
+                                ${typeName}ParseWithBuffer(readBuffer${refParams})
                             </#if>
                         </...@compress>
 
@@ -880,7 +885,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
                                     </#list>
                                 </#if>
                             </#assign>
-                            ${typeName}Parse(readBuffer${refParams})
+                            ${typeName}ParseWithBuffer(readBuffer${refParams})
                         </#if>
                         </...@compress>
 
@@ -926,7 +931,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
                                         </#list>
                                     </#if>
                                 </#assign>
-                                ${typeName}Parse(readBuffer${refParams})
+                                ${typeName}ParseWithBuffer(readBuffer${refParams})
 							</#if>
 						</...@compress>
 
@@ -987,7 +992,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 		return nil, errors.Wrap(_${constField.name}Err, "Error serializing '${constField.name}' field")<@emitImport import="github.com/pkg/errors" />
 	}
                     <#else>
-	${constField.name}, _${constField.name}Err := ${helper.getLanguageTypeNameForField(field)}Parse(readBuffer)
+	${constField.name}, _${constField.name}Err := ${helper.getLanguageTypeNameForField(field)}ParseWithBuffer(readBuffer)
 	if _${constField.name}Err != nil {
 		return nil, errors.Wrap(_${constField.name}Err, "Error parsing '${constField.name}' field of ${type.name}")<@emitImport import="github.com/pkg/errors" />
 	}
@@ -1011,7 +1016,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 	if pullErr := readBuffer.PullContext("${namedField.name}"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for ${namedField.name}")<@emitImport import="github.com/pkg/errors" />
 	}
-	${helper.getVariableName(field)}_temp, _${discriminatorField.name}Err := ${helper.getLanguageTypeNameForField(discriminatorField)}Parse(readBuffer)
+	${helper.getVariableName(field)}_temp, _${discriminatorField.name}Err := ${helper.getLanguageTypeNameForField(discriminatorField)}ParseWithBuffer(readBuffer)
 	var ${helper.getVariableName(field)} ${helper.getLanguageTypeNameForField(discriminatorField)} = ${helper.getVariableName(field)}_temp
 	if closeErr := readBuffer.CloseContext("${namedField.name}"); closeErr != nil {
 		return nil, errors.Wrap(closeErr, "Error closing for ${namedField.name}")<@emitImport import="github.com/pkg/errors" />
@@ -1164,7 +1169,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 		if pullErr := readBuffer.PullContext("${optionalField.name}"); pullErr != nil {
 			return nil, errors.Wrap(pullErr, "Error pulling for ${optionalField.name}")<@emitImport import="github.com/pkg/errors" />
 		}
-		_val, _err := ${helper.getLanguageTypeNameForField(field)}Parse(readBuffer)
+		_val, _err := ${helper.getLanguageTypeNameForField(field)}ParseWithBuffer(readBuffer)
 		if _err != nil {
 			return nil, errors.Wrap(_err, "Error parsing '${optionalField.name}' field of ${type.name}")<@emitImport import="github.com/pkg/errors" />
 		}
@@ -1196,7 +1201,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 						</#list>
 					</#if>
 				</#assign>
-		_val, _err := ${typeName}Parse(readBuffer${refParams})
+		_val, _err := ${typeName}ParseWithBuffer(readBuffer${refParams})
                 </...@compress>
 
 		switch {
@@ -1227,7 +1232,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 		return nil, errors.Wrap(_err, "Error parsing '${assertField.name}' field of ${type.name}")<@emitImport import="github.com/pkg/errors" />
 	}
 			<#elseif helper.isEnumField(field)>
-	${assertField.name}, _err := ${helper.getLanguageTypeNameForField(field)}Parse(readBuffer)
+	${assertField.name}, _err := ${helper.getLanguageTypeNameForField(field)}ParseWithBuffer(readBuffer)
 	if _err != nil {
 		return nil, errors.Wrap(_err, "Error parsing '${assertField.name}' field of ${type.name}")<@emitImport import="github.com/pkg/errors" />
 	}
@@ -1244,7 +1249,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 				<#assign hasRefParams=complexTypeReference.params.isPresent() && typeDefinition.parserArguments.isPresent()>
 				<#assign refParams> <#if hasRefParams>, <#list complexTypeReference.params.orElseThrow() as typeParam>${helper.toTypedParseExpression(assertField, null, typeParam, null)}<#sep>, </#sep></#list> </#if> </#assign>
                 </...@compress>
-	_val, _err := ${helper.getLanguageTypeNameForField(field)}Parse(readBuffer${refParams})
+	_val, _err := ${helper.getLanguageTypeNameForField(field)}ParseWithBuffer(readBuffer${refParams})
 	if _err != nil {
 		return nil, errors.Wrap(_err, "Error parsing '${assertField.name}' field of ${type.name}")<@emitImport import="github.com/pkg/errors" />
 	}
@@ -1333,7 +1338,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
                 </#list>
             </#if>
         </#assign>
-		${typeName}Parse(readBuffer${refParams})
+		${typeName}ParseWithBuffer(readBuffer${refParams})
 	</#if>
     </...@compress>
 
@@ -1404,7 +1409,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 						</#if>: // ${case.name}
                     </...@compress>
 
-		_childTemp, typeSwitchError = ${case.name}Parse(readBuffer<#if case.allParserArguments.isPresent()>, <#list case.allParserArguments.orElseThrow() as parserArgument><#if <#--TODO: here DF1ResponseMessage throws a payloadLength not present: meaning that some feature is not rightfully implemented as the result should be a error not a missing pointer-->type.getPropertyFieldFromThisOrParentByName(parserArgument.name).isPresent() && type.getPropertyFieldFromThisOrParentByName(parserArgument. [...]
+		_childTemp, typeSwitchError = ${case.name}ParseWithBuffer(readBuffer<#if case.allParserArguments.isPresent()>, <#list case.allParserArguments.orElseThrow() as parserArgument><#if <#--TODO: here DF1ResponseMessage throws a payloadLength not present: meaning that some feature is not rightfully implemented as the result should be a error not a missing pointer-->type.getPropertyFieldFromThisOrParentByName(parserArgument.name).isPresent() && type.getPropertyFieldFromThisOrParentByName(parse [...]
 				</#list>
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for<#if switchField.getDiscriminatorExpressions()?has_content> parameters [<#list switchField.getDiscriminatorExpressions() as discriminatorExpression>${discriminatorExpression.stringRepresentation()}=%v<#sep>, </#sep></#list>]</#if>"<#if switchField.getDiscriminatorExpressions()?has_content>, <#list switchField.getDiscriminatorExpressions() as discriminatorExpression>${helper.toParseExpression(null, null, discriminatorExpression, parserAr [...]
@@ -1462,7 +1467,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
 				if pullErr := readBuffer.PullContext("${peekField.name}"); pullErr != nil {
 					return nil, errors.Wrap(pullErr, "Error pulling for ${peekField.name}")<@emitImport import="github.com/pkg/errors" />
 				}
-				${peekField.name}, _err := ${helper.getLanguageTypeNameForField(field)}Parse(readBuffer)
+				${peekField.name}, _err := ${helper.getLanguageTypeNameForField(field)}ParseWithBuffer(readBuffer)
 				if _err != nil {
 					return nil, errors.Wrap(_err, "Error parsing '${peekField.name}' field of ${type.name}")<@emitImport import="github.com/pkg/errors" />
 				}
@@ -1493,7 +1498,7 @@ func ${type.name}Parse(readBuffer utils.ReadBuffer<#if hasParserArguments>, ${pa
                                 </#list>
                             </#if>
                         </#assign>
-				${peekField.name}, _ := ${typeName}Parse(readBuffer${refParams})
+				${peekField.name}, _ := ${typeName}ParseWithBuffer(readBuffer${refParams})
                     </...@compress>
                 </#if>
 
diff --git a/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
index b16f41eac..ee5436b70 100644
--- a/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/data-io-template.go.ftlh
@@ -68,7 +68,11 @@ import (
 	
 <#-- TODO: the code below implies that parserArguments will be null if not present... not pretty  -->
 <#if type.parserArguments.isPresent()><#assign parserArguments=type.parserArguments.orElseThrow()></#if>
-func ${type.name}Parse(readBuffer utils.ReadBuffer<#if parserArguments?has_content>, <#list parserArguments as parserArgument>${parserArgument.name} <#if parserArgument.type.isNonSimpleTypeReference() && !parserArgument.type.isEnumTypeReference()>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (api.PlcValue, error) {
+func ${type.name}Parse(theBytes []byte<#if parserArguments?has_content>, <#list parserArguments as parserArgument>${parserArgument.name} <#if parserArgument.type.isNonSimpleTypeReference() && !parserArgument.type.isEnumTypeReference()>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (api.PlcValue, error) {
+	return ${type.name}ParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))<#if parserArguments?has_content>, <#list parserArguments as parserArgument>${parserArgument.name}<#sep>, </#sep></#list></#if>) // TODO: get endianness from mspec
+}
+
+func ${type.name}ParseWithBuffer(readBuffer utils.ReadBuffer<#if parserArguments?has_content>, <#list parserArguments as parserArgument>${parserArgument.name} <#if parserArgument.type.isNonSimpleTypeReference() && !parserArgument.type.isEnumTypeReference()>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (api.PlcValue, error) {
 	readBuffer.PullContext("${type.name}")
 	switch {
 	<#list type.switchField.orElseThrow().cases as case>
diff --git a/code-generation/language-go/src/main/resources/templates/go/enum-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/enum-template.go.ftlh
index 83daad774..5a292b4c6 100644
--- a/code-generation/language-go/src/main/resources/templates/go/enum-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/enum-template.go.ftlh
@@ -179,7 +179,11 @@ func (m ${type.name}) GetLengthInBytes() uint16 {
 <#if type.type?has_content && type.type.orElseThrow().isSimpleTypeReference()>
 	<#assign simpleTypeReference = type.type.orElseThrow().asSimpleTypeReference().orElseThrow()>
 	<#if simpleTypeReference.getSizeInBits() != -1>
-func ${type.name}Parse(readBuffer utils.ReadBuffer) (${type.name}, error) {
+func ${type.name}Parse(theBytes []byte) (${type.name}, error) {
+	return ${type.name}ParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func ${type.name}ParseWithBuffer(readBuffer utils.ReadBuffer) (${type.name}, error) {
 	val, err := ${helper.getReadBufferReadMethodCall(type.name, type.type.orElseThrow(), null)}
 	if err != nil {
 		return <#if type.type.orElseThrow().isStringTypeReference() || type.type.orElseThrow().isVstringTypeReference()>""<#elseif baseType == "bool">false<#else>0</#if>, errors.Wrap(err, "error reading ${type.name}")
diff --git a/code-generation/language-go/src/main/resources/templates/go/parser-factory-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/parser-factory-template.go.ftlh
index 79e4e526e..bd44602bf 100644
--- a/code-generation/language-go/src/main/resources/templates/go/parser-factory-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/parser-factory-template.go.ftlh
@@ -76,7 +76,7 @@ func (m ${helper.getSanitizedProtocolName()?cap_first}ParserHelper) Parse(typeNa
 			</#if>
 		</#list>
 	</#if>
-		return model.${typeDefinition.name}Parse(io<#if typeDefinition.parserArguments.isPresent()>, <#list typeDefinition.parserArguments.orElseThrow() as parserArgument>${parserArgument.name}<#sep>, </#list></#if>)
+		return model.${typeDefinition.name}ParseWithBuffer(io<#if typeDefinition.parserArguments.isPresent()>, <#list typeDefinition.parserArguments.orElseThrow() as parserArgument>${parserArgument.name}<#sep>, </#list></#if>)
 </#list>
 	}
 	return nil, errors.Errorf("Unsupported type %s", typeName)
diff --git a/code-generation/language-go/src/main/resources/templates/go/xml-parser-factory-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/xml-parser-factory-template.go.ftlh
index a7f79ef22..bf9f1be87 100644
--- a/code-generation/language-go/src/main/resources/templates/go/xml-parser-factory-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/xml-parser-factory-template.go.ftlh
@@ -117,9 +117,9 @@ func (m ${helper.getSanitizedProtocolName()?cap_first}XmlParserHelper) Parse(typ
                 </#if>
             </#list>
             <#assign parserArgumentList><#list typeDefinition.parserArguments.orElseThrow() as parserArgument>${parserArgument.name}<#sep>, </#sep> </#list> </#assign>
-            return model.${typeDefinition.name}Parse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), ${parserArgumentList})
+            return model.${typeDefinition.name}ParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), ${parserArgumentList})
         <#else>
-			return model.${typeDefinition.name}Parse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+			return model.${typeDefinition.name}ParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
         </#if>
     </#list>
     }
diff --git a/plc4go/internal/ads/MessageCodec.go b/plc4go/internal/ads/MessageCodec.go
index 605583f2b..0dba67b5a 100644
--- a/plc4go/internal/ads/MessageCodec.go
+++ b/plc4go/internal/ads/MessageCodec.go
@@ -84,8 +84,8 @@ func (m *MessageCodec) Receive() (spi.Message, error) {
 			// TODO: Possibly clean up ...
 			return nil, nil
 		}
-		rb := utils.NewLittleEndianReadBufferByteBased(data)
-		tcpPacket, err := model.AmsTCPPacketParse(rb)
+		rb := utils.NewReadBufferByteBased(data, utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
+		tcpPacket, err := model.AmsTCPPacketParseWithBuffer(rb)
 		if err != nil {
 			log.Warn().Err(err).Msg("error parsing")
 			// TODO: Possibly clean up ...
diff --git a/plc4go/internal/ads/Reader.go b/plc4go/internal/ads/Reader.go
index 34219d6a1..09af33ba0 100644
--- a/plc4go/internal/ads/Reader.go
+++ b/plc4go/internal/ads/Reader.go
@@ -21,6 +21,7 @@ package ads
 
 import (
 	"context"
+	"encoding/binary"
 	"github.com/apache/plc4x/plc4go/pkg/api/model"
 	"github.com/apache/plc4x/plc4go/pkg/api/values"
 	readWriteModel "github.com/apache/plc4x/plc4go/protocols/ads/readwrite/model"
@@ -354,12 +355,12 @@ func (m *Reader) ToPlc4xReadResponse(amsTcpPaket readWriteModel.AmsTCPPacket, re
 	responseCodes := map[string]model.PlcResponseCode{}
 	switch data := amsTcpPaket.GetUserdata().(type) {
 	case readWriteModel.AdsReadResponse:
-		rb = utils.NewLittleEndianReadBufferByteBased(data.GetData())
+		rb = utils.NewReadBufferByteBased(data.GetData(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
 		for _, fieldName := range readRequest.GetFieldNames() {
 			responseCodes[fieldName] = model.PlcResponseCode_OK
 		}
 	case readWriteModel.AdsReadWriteResponse:
-		rb = utils.NewLittleEndianReadBufferByteBased(data.GetData())
+		rb = utils.NewReadBufferByteBased(data.GetData(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
 		// When parsing a multi-item response, the error codes of each items come
 		// in sequence and then come the values.
 		for _, fieldName := range readRequest.GetFieldNames() {
@@ -398,7 +399,7 @@ func (m *Reader) ToPlc4xReadResponse(amsTcpPaket readWriteModel.AmsTCPPacket, re
 
 		// Decode the data according to the information from the request
 		log.Trace().Msg("decode data")
-		value, err := readWriteModel.DataItemParse(rb, field.GetDatatype().PlcValueType(), field.GetStringLength())
+		value, err := readWriteModel.DataItemParseWithBuffer(rb, field.GetDatatype().PlcValueType(), field.GetStringLength())
 		if err != nil {
 			log.Error().Err(err).Msg("Error parsing data item")
 			responseCodes[fieldName] = model.PlcResponseCode_INTERNAL_ERROR
diff --git a/plc4go/internal/bacnetip/Discoverer.go b/plc4go/internal/bacnetip/Discoverer.go
index e198de6c4..0b2bde798 100644
--- a/plc4go/internal/bacnetip/Discoverer.go
+++ b/plc4go/internal/bacnetip/Discoverer.go
@@ -24,7 +24,6 @@ import (
 	"fmt"
 	"github.com/IBM/netaddr"
 	internalModel "github.com/apache/plc4x/plc4go/spi/model"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/libp2p/go-reuseport"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
@@ -167,7 +166,7 @@ func broadcastAndDiscover(ctx context.Context, communicationChannels []communica
 						return
 					}
 					log.Debug().Stringer("addr", addr).Msg("Received broadcast bvlc")
-					incomingBvlc, err := driverModel.BVLCParse(utils.NewReadBufferByteBased(buf[:n]))
+					incomingBvlc, err := driverModel.BVLCParse(buf[:n])
 					if err != nil {
 						log.Warn().Err(err).Msg("Could not parse bvlc")
 						blockingReadChan <- true
@@ -202,7 +201,7 @@ func broadcastAndDiscover(ctx context.Context, communicationChannels []communica
 						return
 					}
 					log.Debug().Stringer("addr", addr).Msg("Received broadcast bvlc")
-					incomingBvlc, err := driverModel.BVLCParse(utils.NewReadBufferByteBased(buf[:n]))
+					incomingBvlc, err := driverModel.BVLCParse(buf[:n])
 					if err != nil {
 						log.Warn().Err(err).Msg("Could not parse bvlc")
 						blockingReadChan <- true
diff --git a/plc4go/internal/bacnetip/MessageCodec.go b/plc4go/internal/bacnetip/MessageCodec.go
index b7e5d8cda..f8fe48d7c 100644
--- a/plc4go/internal/bacnetip/MessageCodec.go
+++ b/plc4go/internal/bacnetip/MessageCodec.go
@@ -24,7 +24,6 @@ import (
 	"github.com/apache/plc4x/plc4go/spi"
 	"github.com/apache/plc4x/plc4go/spi/default"
 	"github.com/apache/plc4x/plc4go/spi/transports"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
@@ -82,8 +81,7 @@ func (m *MessageCodec) Receive() (spi.Message, error) {
 			// TODO: Possibly clean up ...
 			return nil, nil
 		}
-		rb := utils.NewReadBufferByteBased(data)
-		bvlcPacket, err := model.BVLCParse(rb)
+		bvlcPacket, err := model.BVLCParse(data)
 		if err != nil {
 			log.Warn().Err(err).Msg("error parsing")
 			// TODO: Possibly clean up ...
diff --git a/plc4go/internal/cbus/MessageCodec.go b/plc4go/internal/cbus/MessageCodec.go
index c31b99779..f001f6167 100644
--- a/plc4go/internal/cbus/MessageCodec.go
+++ b/plc4go/internal/cbus/MessageCodec.go
@@ -25,7 +25,6 @@ import (
 	"github.com/apache/plc4x/plc4go/spi"
 	"github.com/apache/plc4x/plc4go/spi/default"
 	"github.com/apache/plc4x/plc4go/spi/transports"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 	"hash/crc32"
@@ -133,7 +132,7 @@ func (m *MessageCodec) Receive() (spi.Message, error) {
 	if bytes, err := ti.PeekReadableBytes(1); err == nil && (bytes[0] == byte(readWriteModel.ConfirmationType_CHECKSUM_FAILURE)) {
 		_, _ = ti.Read(1)
 		// Report one Error at a time
-		return readWriteModel.CBusMessageParse(utils.NewReadBufferByteBased(bytes), true, m.requestContext, m.cbusOptions)
+		return readWriteModel.CBusMessageParse(bytes, true, m.requestContext, m.cbusOptions)
 	}
 
 	peekedBytes, err := ti.PeekReadableBytes(readableBytes)
@@ -237,7 +236,7 @@ lookingForTheEnd:
 		if foundErrors > m.currentlyReportedServerErrors {
 			log.Debug().Msgf("We found %d errors in the current message. We have %d reported already", foundErrors, m.currentlyReportedServerErrors)
 			m.currentlyReportedServerErrors++
-			return readWriteModel.CBusMessageParse(utils.NewReadBufferByteBased([]byte{'!'}), true, m.requestContext, m.cbusOptions)
+			return readWriteModel.CBusMessageParse([]byte{'!'}, true, m.requestContext, m.cbusOptions)
 		}
 		if foundErrors > 0 {
 			log.Debug().Msgf("We should have reported all errors by now (%d in total which we reported %d), so we resetting the count", foundErrors, m.currentlyReportedServerErrors)
@@ -264,14 +263,12 @@ lookingForTheEnd:
 		}
 	}
 	log.Debug().Msgf("Parsing %q", sanitizedInput)
-	rb := utils.NewReadBufferByteBased(sanitizedInput)
-	cBusMessage, err := readWriteModel.CBusMessageParse(rb, pciResponse, m.requestContext, m.cbusOptions)
+	cBusMessage, err := readWriteModel.CBusMessageParse(sanitizedInput, pciResponse, m.requestContext, m.cbusOptions)
 	if err != nil {
 		log.Debug().Err(err).Msg("First Parse Failed")
 		{ // Try SAL
-			rb := utils.NewReadBufferByteBased(sanitizedInput)
 			requestContext := readWriteModel.NewRequestContext(false)
-			cBusMessage, secondErr := readWriteModel.CBusMessageParse(rb, pciResponse, requestContext, m.cbusOptions)
+			cBusMessage, secondErr := readWriteModel.CBusMessageParse(sanitizedInput, pciResponse, requestContext, m.cbusOptions)
 			if secondErr == nil {
 				return cBusMessage, nil
 			} else {
@@ -279,10 +276,9 @@ lookingForTheEnd:
 			}
 		}
 		{ // Try MMI
-			rb := utils.NewReadBufferByteBased(sanitizedInput)
 			requestContext := readWriteModel.NewRequestContext(false)
 			cbusOptions := readWriteModel.NewCBusOptions(false, false, false, false, false, false, false, false, false)
-			cBusMessage, secondErr := readWriteModel.CBusMessageParse(rb, true, requestContext, cbusOptions)
+			cBusMessage, secondErr := readWriteModel.CBusMessageParse(sanitizedInput, true, requestContext, cbusOptions)
 			if secondErr == nil {
 				return cBusMessage, nil
 			} else {
diff --git a/plc4go/internal/eip/MessageCodec.go b/plc4go/internal/eip/MessageCodec.go
index 0d6398e26..477d61e74 100644
--- a/plc4go/internal/eip/MessageCodec.go
+++ b/plc4go/internal/eip/MessageCodec.go
@@ -20,6 +20,7 @@
 package eip
 
 import (
+	"encoding/binary"
 	"github.com/apache/plc4x/plc4go/protocols/eip/readwrite/model"
 	"github.com/apache/plc4x/plc4go/spi"
 	"github.com/apache/plc4x/plc4go/spi/default"
@@ -83,8 +84,8 @@ func (m *MessageCodec) Receive() (spi.Message, error) {
 			// TODO: Possibly clean up ...
 			return nil, nil
 		}
-		rb := utils.NewLittleEndianReadBufferByteBased(data)
-		eipPacket, err := model.EipPacketParse(rb)
+		rb := utils.NewReadBufferByteBased(data, utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
+		eipPacket, err := model.EipPacketParseWithBuffer(rb)
 		if err != nil {
 			log.Warn().Err(err).Msg("error parsing")
 			// TODO: Possibly clean up ...
diff --git a/plc4go/internal/eip/Reader.go b/plc4go/internal/eip/Reader.go
index 58eee7bc9..f667e2612 100644
--- a/plc4go/internal/eip/Reader.go
+++ b/plc4go/internal/eip/Reader.go
@@ -375,7 +375,7 @@ func (m *Reader) ToPlc4xReadResponse(response readWriteModel.CipService, readReq
 		code := decodeResponseCode(cipReadResponse.GetStatus())
 		var plcValue values.PlcValue
 		_type := cipReadResponse.GetDataType()
-		data := utils.NewLittleEndianReadBufferByteBased(cipReadResponse.GetData())
+		data := utils.NewReadBufferByteBased(cipReadResponse.GetData(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
 		if code == model.PlcResponseCode_OK {
 			var err error
 			plcValue, err = parsePlcValue(field, data, _type)
@@ -389,7 +389,7 @@ func (m *Reader) ToPlc4xReadResponse(response readWriteModel.CipService, readReq
 		multipleServiceResponse := response
 		nb := multipleServiceResponse.GetServiceNb()
 		arr := make([]readWriteModel.CipService, nb)
-		read := utils.NewLittleEndianReadBufferByteBased(multipleServiceResponse.GetServicesData())
+		read := utils.NewReadBufferByteBased(multipleServiceResponse.GetServicesData(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
 		total := read.GetTotalBytes()
 		for i := uint16(0); i < nb; i++ {
 			length := uint16(0)
@@ -399,9 +399,9 @@ func (m *Reader) ToPlc4xReadResponse(response readWriteModel.CipService, readReq
 			} else {
 				length = multipleServiceResponse.GetOffsets()[i+1] - offset - multipleServiceResponse.GetOffsets()[0] //Calculate length with offsets (substracting first offset)
 			}
-			serviceBuf := utils.NewLittleEndianReadBufferByteBased(read.GetBytes()[offset : offset+length])
+			serviceBuf := utils.NewReadBufferByteBased(read.GetBytes()[offset:offset+length], utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
 			var err error
-			arr[i], err = readWriteModel.CipServiceParse(serviceBuf, length)
+			arr[i], err = readWriteModel.CipServiceParseWithBuffer(serviceBuf, length)
 			if err != nil {
 				return nil, err
 			}
@@ -412,7 +412,7 @@ func (m *Reader) ToPlc4xReadResponse(response readWriteModel.CipService, readReq
 			if cipReadResponse, ok := services.Services[i].(readWriteModel.CipReadResponse); ok {
 				code := decodeResponseCode(cipReadResponse.GetStatus())
 				_type := cipReadResponse.GetDataType()
-				data := utils.NewLittleEndianReadBufferByteBased(cipReadResponse.GetData())
+				data := utils.NewReadBufferByteBased(cipReadResponse.GetData(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
 				var plcValue values.PlcValue
 				if code == model.PlcResponseCode_OK {
 					var err error
diff --git a/plc4go/internal/eip/Writer.go b/plc4go/internal/eip/Writer.go
index 6dfd587e8..e6b19e4b4 100644
--- a/plc4go/internal/eip/Writer.go
+++ b/plc4go/internal/eip/Writer.go
@@ -318,7 +318,7 @@ func (m Writer) ToPlc4xWriteResponse(response readWriteModel.CipService, writeRe
 		multipleServiceResponse := response
 		nb := multipleServiceResponse.GetServiceNb()
 		arr := make([]readWriteModel.CipService, nb)
-		read := utils.NewLittleEndianReadBufferByteBased(multipleServiceResponse.GetServicesData())
+		read := utils.NewReadBufferByteBased(multipleServiceResponse.GetServicesData(), utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
 		total := read.GetTotalBytes()
 		for i := uint16(0); i < nb; i++ {
 			length := uint16(0)
@@ -328,9 +328,9 @@ func (m Writer) ToPlc4xWriteResponse(response readWriteModel.CipService, writeRe
 			} else {
 				length = multipleServiceResponse.GetOffsets()[i+1] - offset - multipleServiceResponse.GetOffsets()[0] //Calculate length with offsets (substracting first offset)
 			}
-			serviceBuf := utils.NewLittleEndianReadBufferByteBased(read.GetBytes()[offset : offset+length])
+			serviceBuf := utils.NewReadBufferByteBased(read.GetBytes()[offset:offset+length], utils.WithByteOrderForReadBufferByteBased(binary.LittleEndian))
 			var err error
-			arr[i], err = readWriteModel.CipServiceParse(serviceBuf, length)
+			arr[i], err = readWriteModel.CipServiceParseWithBuffer(serviceBuf, length)
 			if err != nil {
 				return nil, err
 			}
diff --git a/plc4go/internal/knxnetip/Browser.go b/plc4go/internal/knxnetip/Browser.go
index 75fef4af6..d7d967a4a 100644
--- a/plc4go/internal/knxnetip/Browser.go
+++ b/plc4go/internal/knxnetip/Browser.go
@@ -372,8 +372,7 @@ func (m Browser) executeCommunicationObjectQuery(ctx context.Context, field Comm
 			}
 			comObjectSettings := readResult.GetResponse().GetValue(strconv.Itoa(int(comObjectNumber))).GetUint16()
 			data := []uint8{uint8((comObjectSettings >> 8) & 0xFF), uint8(comObjectSettings & 0xFF)}
-			rb := utils.NewReadBufferByteBased(data)
-			descriptor, err := driverModel.GroupObjectDescriptorRealisationTypeBParse(rb)
+			descriptor, err := driverModel.GroupObjectDescriptorRealisationTypeBParse(data)
 			if err != nil {
 				log.Info().Err(err).Msg("error parsing com object descriptor")
 				continue
@@ -465,8 +464,7 @@ func (m Browser) executeCommunicationObjectQuery(ctx context.Context, field Comm
 
 		for _, fieldName := range readResult.GetResponse().GetFieldNames() {
 			array := utils.PlcValueUint8ListToByteArray(readResult.GetResponse().GetValue(fieldName))
-			rb := utils.NewReadBufferByteBased(array)
-			descriptor, err := driverModel.GroupObjectDescriptorRealisationType7Parse(rb)
+			descriptor, err := driverModel.GroupObjectDescriptorRealisationType7Parse(array)
 			if err != nil {
 				return nil, errors.Wrap(err, "error creating read request")
 			}
diff --git a/plc4go/internal/knxnetip/ConnectionDriverSpecificOperations.go b/plc4go/internal/knxnetip/ConnectionDriverSpecificOperations.go
index 56b563559..bb367a6a2 100644
--- a/plc4go/internal/knxnetip/ConnectionDriverSpecificOperations.go
+++ b/plc4go/internal/knxnetip/ConnectionDriverSpecificOperations.go
@@ -87,7 +87,7 @@ func (m *Connection) ReadGroupAddress(ctx context.Context, groupAddress []byte,
 			datapointType = &defaultDatapointType
 		}
 		// Parse the value
-		plcValue, err := driverModel.KnxDatapointParse(rb, *datapointType)
+		plcValue, err := driverModel.KnxDatapointParseWithBuffer(rb, *datapointType)
 		if err != nil {
 			sendResponse(nil, 0, errors.Wrap(err, "error parsing group address response"))
 			return
@@ -169,8 +169,7 @@ func (m *Connection) DeviceConnect(ctx context.Context, targetAddress driverMode
 			if propertyValueResponse.GetCount() > 0 {
 				dataLength := uint8(len(propertyValueResponse.GetData()))
 				data := propertyValueResponse.GetData()
-				rb := utils.NewReadBufferByteBased(data)
-				plcValue, err := driverModel.KnxPropertyParse(rb,
+				plcValue, err := driverModel.KnxPropertyParse(data,
 					driverModel.KnxInterfaceObjectProperty_PID_DEVICE_MAX_APDULENGTH.PropertyDataType(), dataLength)
 
 				// Return the result
@@ -346,8 +345,7 @@ func (m *Connection) DeviceReadProperty(ctx context.Context, targetAddress drive
 
 		dataLength := uint8(len(propertyValueResponse.GetData()))
 		data := propertyValueResponse.GetData()
-		rb := utils.NewReadBufferByteBased(data)
-		plcValue, err := driverModel.KnxPropertyParse(rb, property.PropertyDataType(), dataLength)
+		plcValue, err := driverModel.KnxPropertyParse(data, property.PropertyDataType(), dataLength)
 		if err != nil {
 			sendResponse(nil, 0, err)
 		} else {
@@ -495,7 +493,7 @@ func (m *Connection) DeviceReadMemory(ctx context.Context, targetAddress driverM
 			// Parse the data according to the property type information
 			rb := utils.NewReadBufferByteBased(memoryReadResponse.GetData())
 			for rb.HasMore(datapointType.DatapointMainType().SizeInBits()) {
-				plcValue, err := driverModel.KnxDatapointParse(rb, *datapointType)
+				plcValue, err := driverModel.KnxDatapointParseWithBuffer(rb, *datapointType)
 				// Return the result
 				if err != nil {
 					sendResponse(nil, 0, err)
diff --git a/plc4go/internal/knxnetip/MessageCodec.go b/plc4go/internal/knxnetip/MessageCodec.go
index ae0cab944..0b7fc76cd 100644
--- a/plc4go/internal/knxnetip/MessageCodec.go
+++ b/plc4go/internal/knxnetip/MessageCodec.go
@@ -24,7 +24,6 @@ import (
 	"github.com/apache/plc4x/plc4go/spi"
 	"github.com/apache/plc4x/plc4go/spi/default"
 	"github.com/apache/plc4x/plc4go/spi/transports"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
@@ -91,8 +90,7 @@ func (m *MessageCodec) Receive() (spi.Message, error) {
 			// TODO: Possibly clean up ...
 			return nil, nil
 		}
-		rb := utils.NewReadBufferByteBased(data)
-		knxMessage, err := model.KnxNetIpMessageParse(rb)
+		knxMessage, err := model.KnxNetIpMessageParse(data)
 		if err != nil {
 			log.Warn().Err(err).Msg("error parsing message")
 			// TODO: Possibly clean up ...
diff --git a/plc4go/internal/knxnetip/Reader.go b/plc4go/internal/knxnetip/Reader.go
index 159739f06..cbe21c0a6 100644
--- a/plc4go/internal/knxnetip/Reader.go
+++ b/plc4go/internal/knxnetip/Reader.go
@@ -224,7 +224,7 @@ func (m Reader) readGroupAddress(ctx context.Context, field GroupAddressField) (
 				if field.GetFieldType().GetLengthInBits() > 6 {
 					_, _ = rb.ReadUint8("fieldType", 8)
 				}
-				plcValue, err := driverModel.KnxDatapointParse(rb, *field.GetFieldType())
+				plcValue, err := driverModel.KnxDatapointParseWithBuffer(rb, *field.GetFieldType())
 				// If any of the values doesn't decode correctly, we can't return any
 				if err != nil {
 					return apiModel.PlcResponseCode_INVALID_DATA, nil
diff --git a/plc4go/internal/knxnetip/Subscriber.go b/plc4go/internal/knxnetip/Subscriber.go
index e2d8f3546..c3d278e06 100644
--- a/plc4go/internal/knxnetip/Subscriber.go
+++ b/plc4go/internal/knxnetip/Subscriber.go
@@ -85,8 +85,7 @@ func (m *Subscriber) Unsubscribe(ctx context.Context, unsubscriptionRequest apiM
 func (m *Subscriber) handleValueChange(destinationAddress []byte, payload []byte, changed bool) {
 	// Decode the group-address according to the settings in the driver
 	// Group addresses can be 1, 2 or 3 levels (3 being the default)
-	garb := utils.NewReadBufferByteBased(destinationAddress)
-	groupAddress, err := driverModel.KnxGroupAddressParse(garb, m.connection.getGroupAddressNumLevels())
+	groupAddress, err := driverModel.KnxGroupAddressParse(destinationAddress, m.connection.getGroupAddressNumLevels())
 	if err != nil {
 		return
 	}
@@ -140,7 +139,7 @@ func (m *Subscriber) handleValueChange(destinationAddress []byte, payload []byte
 					plcValue := values2.NewRawPlcValue(rb, NewValueDecoder(rb))
 					plcValueList = append(plcValueList, plcValue)
 				} else {
-					plcValue, err2 := driverModel.KnxDatapointParse(rb, elementType)
+					plcValue, err2 := driverModel.KnxDatapointParseWithBuffer(rb, elementType)
 					if err2 == nil {
 						plcValueList = append(plcValueList, plcValue)
 					} else {
diff --git a/plc4go/internal/knxnetip/SubscriptionEvent.go b/plc4go/internal/knxnetip/SubscriptionEvent.go
index e82a66a82..091f2031d 100644
--- a/plc4go/internal/knxnetip/SubscriptionEvent.go
+++ b/plc4go/internal/knxnetip/SubscriptionEvent.go
@@ -24,7 +24,6 @@ import (
 	"github.com/apache/plc4x/plc4go/pkg/api/values"
 	driverModel "github.com/apache/plc4x/plc4go/protocols/knxnetip/readwrite/model"
 	internalMode "github.com/apache/plc4x/plc4go/spi/model"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	"time"
 )
 
@@ -44,17 +43,16 @@ func NewSubscriptionEvent(fields map[string]apiModel.PlcField, types map[string]
 // GetAddress Decode the binary data in the address according to the field requested
 func (m SubscriptionEvent) GetAddress(name string) string {
 	rawAddress := m.addresses[name]
-	rawAddressReadBuffer := utils.NewReadBufferByteBased(rawAddress)
 	field := m.DefaultPlcSubscriptionEvent.GetField(name)
 	var groupAddress driverModel.KnxGroupAddress
 	var err error
 	switch field.(type) {
 	case GroupAddress3LevelPlcField:
-		groupAddress, err = driverModel.KnxGroupAddressParse(rawAddressReadBuffer, 3)
+		groupAddress, err = driverModel.KnxGroupAddressParse(rawAddress, 3)
 	case GroupAddress2LevelPlcField:
-		groupAddress, err = driverModel.KnxGroupAddressParse(rawAddressReadBuffer, 2)
+		groupAddress, err = driverModel.KnxGroupAddressParse(rawAddress, 2)
 	case GroupAddress1LevelPlcField:
-		groupAddress, err = driverModel.KnxGroupAddressParse(rawAddressReadBuffer, 1)
+		groupAddress, err = driverModel.KnxGroupAddressParse(rawAddress, 1)
 	}
 	if err != nil {
 		return ""
diff --git a/plc4go/internal/knxnetip/Utils.go b/plc4go/internal/knxnetip/Utils.go
index a86e59c9d..66280ce23 100644
--- a/plc4go/internal/knxnetip/Utils.go
+++ b/plc4go/internal/knxnetip/Utils.go
@@ -22,7 +22,6 @@ package knxnetip
 import (
 	"fmt"
 	driverModel "github.com/apache/plc4x/plc4go/protocols/knxnetip/readwrite/model"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	"strconv"
 )
 
@@ -67,8 +66,7 @@ func GroupAddressToString(groupAddress driverModel.KnxGroupAddress) string {
 }
 
 func ByteArrayToKnxAddress(data []byte) driverModel.KnxAddress {
-	readBuffer := utils.NewReadBufferByteBased(data)
-	knxAddress, err := driverModel.KnxAddressParse(readBuffer)
+	knxAddress, err := driverModel.KnxAddressParse(data)
 	if err != nil {
 		return nil
 	}
@@ -98,8 +96,7 @@ func Uint16ToKnxGroupAddress(data uint16, numLevels uint8) driverModel.KnxGroupA
 	rawData := make([]uint8, 2)
 	rawData[0] = uint8(data >> 8)
 	rawData[1] = uint8(data & 0xFF)
-	readBuffer := utils.NewReadBufferByteBased(rawData)
-	knxGroupAddress, err := driverModel.KnxGroupAddressParse(readBuffer, numLevels)
+	knxGroupAddress, err := driverModel.KnxGroupAddressParse(rawData, numLevels)
 	if err != nil {
 		return nil
 	}
diff --git a/plc4go/internal/knxnetip/ValueDecoder.go b/plc4go/internal/knxnetip/ValueDecoder.go
index fefb653d4..332f9185b 100644
--- a/plc4go/internal/knxnetip/ValueDecoder.go
+++ b/plc4go/internal/knxnetip/ValueDecoder.go
@@ -37,7 +37,7 @@ func NewValueDecoder(rb utils.ReadBuffer) ValueDecoder {
 
 func (m ValueDecoder) Decode(typeName string) api.PlcValue {
 	datatype, _ := driverModel.KnxDatapointTypeByName(typeName)
-	plcValue, err := driverModel.KnxDatapointParse(m.rb, datatype)
+	plcValue, err := driverModel.KnxDatapointParseWithBuffer(m.rb, datatype)
 	if err != nil {
 		return nil
 	}
diff --git a/plc4go/internal/modbus/MessageCodec.go b/plc4go/internal/modbus/MessageCodec.go
index 6d5db2333..597bc5bbc 100644
--- a/plc4go/internal/modbus/MessageCodec.go
+++ b/plc4go/internal/modbus/MessageCodec.go
@@ -24,7 +24,6 @@ import (
 	"github.com/apache/plc4x/plc4go/spi"
 	"github.com/apache/plc4x/plc4go/spi/default"
 	"github.com/apache/plc4x/plc4go/spi/transports"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
@@ -85,8 +84,7 @@ func (m *MessageCodec) Receive() (spi.Message, error) {
 			// TODO: Possibly clean up ...
 			return nil, nil
 		}
-		rb := utils.NewReadBufferByteBased(data)
-		tcpAdu, err := model.ModbusTcpADUParse(rb, model.DriverType_MODBUS_TCP, true)
+		tcpAdu, err := model.ModbusTcpADUParse(data, model.DriverType_MODBUS_TCP, true)
 		if err != nil {
 			log.Warn().Err(err).Msg("error parsing")
 			// TODO: Possibly clean up ...
diff --git a/plc4go/internal/modbus/Reader.go b/plc4go/internal/modbus/Reader.go
index 219849e6c..e1a986a69 100644
--- a/plc4go/internal/modbus/Reader.go
+++ b/plc4go/internal/modbus/Reader.go
@@ -26,7 +26,6 @@ import (
 	readWriteModel "github.com/apache/plc4x/plc4go/protocols/modbus/readwrite/model"
 	"github.com/apache/plc4x/plc4go/spi"
 	plc4goModel "github.com/apache/plc4x/plc4go/spi/model"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 	"math"
@@ -190,8 +189,7 @@ func (m *Reader) ToPlc4xReadResponse(responseAdu readWriteModel.ModbusTcpADU, re
 
 	// Decode the data according to the information from the request
 	log.Trace().Msg("decode data")
-	rb := utils.NewReadBufferByteBased(data)
-	value, err := readWriteModel.DataItemParse(rb, field.Datatype, field.Quantity)
+	value, err := readWriteModel.DataItemParse(data, field.Datatype, field.Quantity)
 	if err != nil {
 		return nil, errors.Wrap(err, "Error parsing data item")
 	}
diff --git a/plc4go/internal/s7/FieldHandler.go b/plc4go/internal/s7/FieldHandler.go
index 6c602a6b5..d7d22a84e 100644
--- a/plc4go/internal/s7/FieldHandler.go
+++ b/plc4go/internal/s7/FieldHandler.go
@@ -251,8 +251,7 @@ func (m FieldHandler) ParseQuery(query string) (model.PlcField, error) {
 		if err != nil {
 			return nil, errors.Wrapf(err, "Unable to parse address: %s", query)
 		}
-		rb := utils.NewReadBufferByteBased(addressData)
-		s7Address, err := readWriteModel.S7AddressAnyParse(rb)
+		s7Address, err := readWriteModel.S7AddressAnyParse(addressData)
 		if err != nil {
 			return nil, errors.Wrapf(err, "Unable to parse address: %s", query)
 		}
diff --git a/plc4go/internal/s7/MessageCodec.go b/plc4go/internal/s7/MessageCodec.go
index 8f5cd2677..325ed21bb 100644
--- a/plc4go/internal/s7/MessageCodec.go
+++ b/plc4go/internal/s7/MessageCodec.go
@@ -24,7 +24,6 @@ import (
 	"github.com/apache/plc4x/plc4go/spi"
 	"github.com/apache/plc4x/plc4go/spi/default"
 	"github.com/apache/plc4x/plc4go/spi/transports"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
 )
@@ -83,8 +82,7 @@ func (m *MessageCodec) Receive() (spi.Message, error) {
 			// TODO: Possibly clean up ...
 			return nil, nil
 		}
-		rb := utils.NewReadBufferByteBased(data)
-		tpktPacket, err := model.TPKTPacketParse(rb)
+		tpktPacket, err := model.TPKTPacketParse(data)
 		if err != nil {
 			log.Warn().Err(err).Msg("error parsing")
 			// TODO: Possibly clean up ...
diff --git a/plc4go/internal/s7/Reader.go b/plc4go/internal/s7/Reader.go
index 5f10bd074..b2d0ab7ab 100644
--- a/plc4go/internal/s7/Reader.go
+++ b/plc4go/internal/s7/Reader.go
@@ -26,7 +26,6 @@ import (
 	readWriteModel "github.com/apache/plc4x/plc4go/protocols/s7/readwrite/model"
 	"github.com/apache/plc4x/plc4go/spi"
 	plc4goModel "github.com/apache/plc4x/plc4go/spi/model"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	spiValues "github.com/apache/plc4x/plc4go/spi/values"
 	"github.com/pkg/errors"
 	"github.com/rs/zerolog/log"
@@ -214,10 +213,9 @@ func (m *Reader) ToPlc4xReadResponse(response readWriteModel.S7Message, readRequ
 		responseCode := decodeResponseCode(payloadItem.GetReturnCode())
 		// Decode the data according to the information from the request
 		log.Trace().Msg("decode data")
-		rb := utils.NewReadBufferByteBased(utils.ByteArrayToUint8Array(payloadItem.GetData()))
 		responseCodes[fieldName] = responseCode
 		if responseCode == model.PlcResponseCode_OK {
-			plcValue, err := readWriteModel.DataItemParse(rb, field.GetDataType().DataProtocolId(), int32(field.GetNumElements()))
+			plcValue, err := readWriteModel.DataItemParse(payloadItem.GetData(), field.GetDataType().DataProtocolId(), int32(field.GetNumElements()))
 			if err != nil {
 				return nil, errors.Wrap(err, "Error parsing data item")
 			}
diff --git a/plc4go/internal/s7/s7Io_test.go b/plc4go/internal/s7/s7Io_test.go
index f97279006..0da024f49 100644
--- a/plc4go/internal/s7/s7Io_test.go
+++ b/plc4go/internal/s7/s7Io_test.go
@@ -936,7 +936,7 @@ func TestS7MessageBytes(t *testing.T) {
 			t.Run("xml roundtrip", func(t *testing.T) {
 				reader := strings.NewReader(tt.wantStringXml)
 				readBuffer := utils.NewXmlReadBuffer(reader)
-				if got, err := model.TPKTPacketParse(readBuffer); err != nil {
+				if got, err := model.TPKTPacketParseWithBuffer(readBuffer); err != nil {
 					t.Error(err)
 				} else {
 					assert.Equal(t, tt.args.debuggable, got)
@@ -945,7 +945,7 @@ func TestS7MessageBytes(t *testing.T) {
 			t.Run("json roundtrip", func(t *testing.T) {
 				reader := strings.NewReader(tt.wantStringJson)
 				readBuffer := utils.NewJsonReadBuffer(reader)
-				if got, err := model.TPKTPacketParse(readBuffer); err != nil || !reflect.DeepEqual(got, tt.args.debuggable) {
+				if got, err := model.TPKTPacketParseWithBuffer(readBuffer); err != nil || !reflect.DeepEqual(got, tt.args.debuggable) {
 					if err != nil {
 						t.Error(err)
 					} else {
diff --git a/plc4go/internal/simulated/Device.go b/plc4go/internal/simulated/Device.go
index c584270b6..b89acdb0b 100644
--- a/plc4go/internal/simulated/Device.go
+++ b/plc4go/internal/simulated/Device.go
@@ -22,7 +22,6 @@ package simulated
 import (
 	"github.com/apache/plc4x/plc4go/pkg/api/values"
 	"github.com/apache/plc4x/plc4go/protocols/simulated/readwrite/model"
-	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/rs/zerolog/log"
 	"math/rand"
 )
@@ -67,8 +66,7 @@ func (t *Device) getRandomValue(field SimulatedField) *values.PlcValue {
 	size := field.GetDataTypeSize().DataTypeSize()
 	data := make([]byte, uint16(size)*field.Quantity)
 	rand.Read(data)
-	readBuffer := utils.NewReadBufferByteBased(data)
-	plcValue, err := model.DataItemParse(readBuffer, field.DataTypeSize.String(), field.Quantity)
+	plcValue, err := model.DataItemParse(data, field.DataTypeSize.String(), field.Quantity)
 	if err != nil {
 		panic("Unable to parse random bytes")
 	}
diff --git a/plc4go/protocols/abeth/readwrite/ParserHelper.go b/plc4go/protocols/abeth/readwrite/ParserHelper.go
index 43a941132..9eb6deb4b 100644
--- a/plc4go/protocols/abeth/readwrite/ParserHelper.go
+++ b/plc4go/protocols/abeth/readwrite/ParserHelper.go
@@ -33,17 +33,17 @@ type AbethParserHelper struct {
 func (m AbethParserHelper) Parse(typeName string, arguments []string, io utils.ReadBuffer) (interface{}, error) {
 	switch typeName {
 	case "DF1RequestCommand":
-		return model.DF1RequestCommandParse(io)
+		return model.DF1RequestCommandParseWithBuffer(io)
 	case "DF1RequestMessage":
-		return model.DF1RequestMessageParse(io)
+		return model.DF1RequestMessageParseWithBuffer(io)
 	case "DF1ResponseMessage":
 		payloadLength, err := utils.StrToUint16(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.DF1ResponseMessageParse(io, payloadLength)
+		return model.DF1ResponseMessageParseWithBuffer(io, payloadLength)
 	case "CIPEncapsulationPacket":
-		return model.CIPEncapsulationPacketParse(io)
+		return model.CIPEncapsulationPacketParseWithBuffer(io)
 	}
 	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/protocols/abeth/readwrite/XmlParserHelper.go b/plc4go/protocols/abeth/readwrite/XmlParserHelper.go
index 1b3d5c887..50923103b 100644
--- a/plc4go/protocols/abeth/readwrite/XmlParserHelper.go
+++ b/plc4go/protocols/abeth/readwrite/XmlParserHelper.go
@@ -43,18 +43,18 @@ func init() {
 func (m AbethXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
 	switch typeName {
 	case "DF1RequestCommand":
-		return model.DF1RequestCommandParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.DF1RequestCommandParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "DF1RequestMessage":
-		return model.DF1RequestMessageParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.DF1RequestMessageParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "DF1ResponseMessage":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
 		if err != nil {
 			return nil, err
 		}
 		payloadLength := uint16(parsedUint0)
-		return model.DF1ResponseMessageParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), payloadLength)
+		return model.DF1ResponseMessageParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), payloadLength)
 	case "CIPEncapsulationPacket":
-		return model.CIPEncapsulationPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.CIPEncapsulationPacketParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	}
 	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
index d44f36cf0..cc5b0b964 100644
--- a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
+++ b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionRequest.go
@@ -109,7 +109,11 @@ func (m *_CIPEncapsulationConnectionRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func CIPEncapsulationConnectionRequestParse(readBuffer utils.ReadBuffer) (CIPEncapsulationConnectionRequest, error) {
+func CIPEncapsulationConnectionRequestParse(theBytes []byte) (CIPEncapsulationConnectionRequest, error) {
+	return CIPEncapsulationConnectionRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func CIPEncapsulationConnectionRequestParseWithBuffer(readBuffer utils.ReadBuffer) (CIPEncapsulationConnectionRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("CIPEncapsulationConnectionRequest"); pullErr != nil {
diff --git a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
index 630940cf7..2364bde70 100644
--- a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
+++ b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationConnectionResponse.go
@@ -109,7 +109,11 @@ func (m *_CIPEncapsulationConnectionResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func CIPEncapsulationConnectionResponseParse(readBuffer utils.ReadBuffer) (CIPEncapsulationConnectionResponse, error) {
+func CIPEncapsulationConnectionResponseParse(theBytes []byte) (CIPEncapsulationConnectionResponse, error) {
+	return CIPEncapsulationConnectionResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func CIPEncapsulationConnectionResponseParseWithBuffer(readBuffer utils.ReadBuffer) (CIPEncapsulationConnectionResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("CIPEncapsulationConnectionResponse"); pullErr != nil {
diff --git a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationPacket.go b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationPacket.go
index 252fba6fb..f4737bb12 100644
--- a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationPacket.go
+++ b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationPacket.go
@@ -20,6 +20,7 @@
 package model
 
 import (
+	"encoding/binary"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
@@ -159,7 +160,11 @@ func (m *_CIPEncapsulationPacket) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func CIPEncapsulationPacketParse(readBuffer utils.ReadBuffer) (CIPEncapsulationPacket, error) {
+func CIPEncapsulationPacketParse(theBytes []byte) (CIPEncapsulationPacket, error) {
+	return CIPEncapsulationPacketParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func CIPEncapsulationPacketParseWithBuffer(readBuffer utils.ReadBuffer) (CIPEncapsulationPacket, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("CIPEncapsulationPacket"); pullErr != nil {
@@ -253,13 +258,13 @@ func CIPEncapsulationPacketParse(readBuffer utils.ReadBuffer) (CIPEncapsulationP
 	var typeSwitchError error
 	switch {
 	case commandType == 0x0101: // CIPEncapsulationConnectionRequest
-		_childTemp, typeSwitchError = CIPEncapsulationConnectionRequestParse(readBuffer)
+		_childTemp, typeSwitchError = CIPEncapsulationConnectionRequestParseWithBuffer(readBuffer)
 	case commandType == 0x0201: // CIPEncapsulationConnectionResponse
-		_childTemp, typeSwitchError = CIPEncapsulationConnectionResponseParse(readBuffer)
+		_childTemp, typeSwitchError = CIPEncapsulationConnectionResponseParseWithBuffer(readBuffer)
 	case commandType == 0x0107: // CIPEncapsulationReadRequest
-		_childTemp, typeSwitchError = CIPEncapsulationReadRequestParse(readBuffer)
+		_childTemp, typeSwitchError = CIPEncapsulationReadRequestParseWithBuffer(readBuffer)
 	case commandType == 0x0207: // CIPEncapsulationReadResponse
-		_childTemp, typeSwitchError = CIPEncapsulationReadResponseParse(readBuffer, packetLen)
+		_childTemp, typeSwitchError = CIPEncapsulationReadResponseParseWithBuffer(readBuffer, packetLen)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [commandType=%v]", commandType)
 	}
diff --git a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadRequest.go b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadRequest.go
index 176329773..127d6ed3d 100644
--- a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadRequest.go
+++ b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadRequest.go
@@ -130,7 +130,11 @@ func (m *_CIPEncapsulationReadRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func CIPEncapsulationReadRequestParse(readBuffer utils.ReadBuffer) (CIPEncapsulationReadRequest, error) {
+func CIPEncapsulationReadRequestParse(theBytes []byte) (CIPEncapsulationReadRequest, error) {
+	return CIPEncapsulationReadRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func CIPEncapsulationReadRequestParseWithBuffer(readBuffer utils.ReadBuffer) (CIPEncapsulationReadRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("CIPEncapsulationReadRequest"); pullErr != nil {
@@ -143,7 +147,7 @@ func CIPEncapsulationReadRequestParse(readBuffer utils.ReadBuffer) (CIPEncapsula
 	if pullErr := readBuffer.PullContext("request"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for request")
 	}
-	_request, _requestErr := DF1RequestMessageParse(readBuffer)
+	_request, _requestErr := DF1RequestMessageParseWithBuffer(readBuffer)
 	if _requestErr != nil {
 		return nil, errors.Wrap(_requestErr, "Error parsing 'request' field of CIPEncapsulationReadRequest")
 	}
diff --git a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadResponse.go b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadResponse.go
index 0b9c8d7dc..d5bafdc24 100644
--- a/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadResponse.go
+++ b/plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadResponse.go
@@ -133,7 +133,11 @@ func (m *_CIPEncapsulationReadResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func CIPEncapsulationReadResponseParse(readBuffer utils.ReadBuffer, packetLen uint16) (CIPEncapsulationReadResponse, error) {
+func CIPEncapsulationReadResponseParse(theBytes []byte, packetLen uint16) (CIPEncapsulationReadResponse, error) {
+	return CIPEncapsulationReadResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), packetLen) // TODO: get endianness from mspec
+}
+
+func CIPEncapsulationReadResponseParseWithBuffer(readBuffer utils.ReadBuffer, packetLen uint16) (CIPEncapsulationReadResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("CIPEncapsulationReadResponse"); pullErr != nil {
@@ -146,7 +150,7 @@ func CIPEncapsulationReadResponseParse(readBuffer utils.ReadBuffer, packetLen ui
 	if pullErr := readBuffer.PullContext("response"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for response")
 	}
-	_response, _responseErr := DF1ResponseMessageParse(readBuffer, uint16(packetLen))
+	_response, _responseErr := DF1ResponseMessageParseWithBuffer(readBuffer, uint16(packetLen))
 	if _responseErr != nil {
 		return nil, errors.Wrap(_responseErr, "Error parsing 'response' field of CIPEncapsulationReadResponse")
 	}
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1CommandRequestMessage.go b/plc4go/protocols/abeth/readwrite/model/DF1CommandRequestMessage.go
index b72164720..cde7bbb3f 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1CommandRequestMessage.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1CommandRequestMessage.go
@@ -130,7 +130,11 @@ func (m *_DF1CommandRequestMessage) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func DF1CommandRequestMessageParse(readBuffer utils.ReadBuffer) (DF1CommandRequestMessage, error) {
+func DF1CommandRequestMessageParse(theBytes []byte) (DF1CommandRequestMessage, error) {
+	return DF1CommandRequestMessageParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func DF1CommandRequestMessageParseWithBuffer(readBuffer utils.ReadBuffer) (DF1CommandRequestMessage, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("DF1CommandRequestMessage"); pullErr != nil {
@@ -143,7 +147,7 @@ func DF1CommandRequestMessageParse(readBuffer utils.ReadBuffer) (DF1CommandReque
 	if pullErr := readBuffer.PullContext("command"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for command")
 	}
-	_command, _commandErr := DF1RequestCommandParse(readBuffer)
+	_command, _commandErr := DF1RequestCommandParseWithBuffer(readBuffer)
 	if _commandErr != nil {
 		return nil, errors.Wrap(_commandErr, "Error parsing 'command' field of DF1CommandRequestMessage")
 	}
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go b/plc4go/protocols/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
index 551e7f829..28ca24ec7 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1CommandResponseMessageProtectedTypedLogicalRead.go
@@ -132,7 +132,11 @@ func (m *_DF1CommandResponseMessageProtectedTypedLogicalRead) GetLengthInBytes()
 	return m.GetLengthInBits() / 8
 }
 
-func DF1CommandResponseMessageProtectedTypedLogicalReadParse(readBuffer utils.ReadBuffer, payloadLength uint16) (DF1CommandResponseMessageProtectedTypedLogicalRead, error) {
+func DF1CommandResponseMessageProtectedTypedLogicalReadParse(theBytes []byte, payloadLength uint16) (DF1CommandResponseMessageProtectedTypedLogicalRead, error) {
+	return DF1CommandResponseMessageProtectedTypedLogicalReadParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), payloadLength) // TODO: get endianness from mspec
+}
+
+func DF1CommandResponseMessageProtectedTypedLogicalReadParseWithBuffer(readBuffer utils.ReadBuffer, payloadLength uint16) (DF1CommandResponseMessageProtectedTypedLogicalRead, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("DF1CommandResponseMessageProtectedTypedLogicalRead"); pullErr != nil {
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1RequestCommand.go b/plc4go/protocols/abeth/readwrite/model/DF1RequestCommand.go
index ef7ee2314..967a50275 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1RequestCommand.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1RequestCommand.go
@@ -20,6 +20,7 @@
 package model
 
 import (
+	"encoding/binary"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
@@ -99,7 +100,11 @@ func (m *_DF1RequestCommand) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func DF1RequestCommandParse(readBuffer utils.ReadBuffer) (DF1RequestCommand, error) {
+func DF1RequestCommandParse(theBytes []byte) (DF1RequestCommand, error) {
+	return DF1RequestCommandParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func DF1RequestCommandParseWithBuffer(readBuffer utils.ReadBuffer) (DF1RequestCommand, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("DF1RequestCommand"); pullErr != nil {
@@ -125,7 +130,7 @@ func DF1RequestCommandParse(readBuffer utils.ReadBuffer) (DF1RequestCommand, err
 	var typeSwitchError error
 	switch {
 	case functionCode == 0xA2: // DF1RequestProtectedTypedLogicalRead
-		_childTemp, typeSwitchError = DF1RequestProtectedTypedLogicalReadParse(readBuffer)
+		_childTemp, typeSwitchError = DF1RequestProtectedTypedLogicalReadParseWithBuffer(readBuffer)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [functionCode=%v]", functionCode)
 	}
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1RequestMessage.go b/plc4go/protocols/abeth/readwrite/model/DF1RequestMessage.go
index 661b643eb..bdf5e235f 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1RequestMessage.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1RequestMessage.go
@@ -20,6 +20,7 @@
 package model
 
 import (
+	"encoding/binary"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
@@ -154,7 +155,11 @@ func (m *_DF1RequestMessage) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func DF1RequestMessageParse(readBuffer utils.ReadBuffer) (DF1RequestMessage, error) {
+func DF1RequestMessageParse(theBytes []byte) (DF1RequestMessage, error) {
+	return DF1RequestMessageParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func DF1RequestMessageParseWithBuffer(readBuffer utils.ReadBuffer) (DF1RequestMessage, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("DF1RequestMessage"); pullErr != nil {
@@ -225,7 +230,7 @@ func DF1RequestMessageParse(readBuffer utils.ReadBuffer) (DF1RequestMessage, err
 	var typeSwitchError error
 	switch {
 	case commandCode == 0x0F: // DF1CommandRequestMessage
-		_childTemp, typeSwitchError = DF1CommandRequestMessageParse(readBuffer)
+		_childTemp, typeSwitchError = DF1CommandRequestMessageParseWithBuffer(readBuffer)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [commandCode=%v]", commandCode)
 	}
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go b/plc4go/protocols/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
index 7dc97e1d5..1781725a2 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1RequestProtectedTypedLogicalRead.go
@@ -169,7 +169,11 @@ func (m *_DF1RequestProtectedTypedLogicalRead) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func DF1RequestProtectedTypedLogicalReadParse(readBuffer utils.ReadBuffer) (DF1RequestProtectedTypedLogicalRead, error) {
+func DF1RequestProtectedTypedLogicalReadParse(theBytes []byte) (DF1RequestProtectedTypedLogicalRead, error) {
+	return DF1RequestProtectedTypedLogicalReadParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func DF1RequestProtectedTypedLogicalReadParseWithBuffer(readBuffer utils.ReadBuffer) (DF1RequestProtectedTypedLogicalRead, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("DF1RequestProtectedTypedLogicalRead"); pullErr != nil {
diff --git a/plc4go/protocols/abeth/readwrite/model/DF1ResponseMessage.go b/plc4go/protocols/abeth/readwrite/model/DF1ResponseMessage.go
index 0fc9f8dd1..9a27fb194 100644
--- a/plc4go/protocols/abeth/readwrite/model/DF1ResponseMessage.go
+++ b/plc4go/protocols/abeth/readwrite/model/DF1ResponseMessage.go
@@ -20,6 +20,7 @@
 package model
 
 import (
+	"encoding/binary"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
@@ -161,7 +162,11 @@ func (m *_DF1ResponseMessage) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func DF1ResponseMessageParse(readBuffer utils.ReadBuffer, payloadLength uint16) (DF1ResponseMessage, error) {
+func DF1ResponseMessageParse(theBytes []byte, payloadLength uint16) (DF1ResponseMessage, error) {
+	return DF1ResponseMessageParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), payloadLength) // TODO: get endianness from mspec
+}
+
+func DF1ResponseMessageParseWithBuffer(readBuffer utils.ReadBuffer, payloadLength uint16) (DF1ResponseMessage, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("DF1ResponseMessage"); pullErr != nil {
@@ -249,7 +254,7 @@ func DF1ResponseMessageParse(readBuffer utils.ReadBuffer, payloadLength uint16)
 	var typeSwitchError error
 	switch {
 	case commandCode == 0x4F: // DF1CommandResponseMessageProtectedTypedLogicalRead
-		_childTemp, typeSwitchError = DF1CommandResponseMessageProtectedTypedLogicalReadParse(readBuffer, payloadLength)
+		_childTemp, typeSwitchError = DF1CommandResponseMessageProtectedTypedLogicalReadParseWithBuffer(readBuffer, payloadLength)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [commandCode=%v]", commandCode)
 	}
diff --git a/plc4go/protocols/ads/readwrite/ParserHelper.go b/plc4go/protocols/ads/readwrite/ParserHelper.go
index 1e0a3a4f1..09b014f39 100644
--- a/plc4go/protocols/ads/readwrite/ParserHelper.go
+++ b/plc4go/protocols/ads/readwrite/ParserHelper.go
@@ -33,46 +33,46 @@ type AdsParserHelper struct {
 func (m AdsParserHelper) Parse(typeName string, arguments []string, io utils.ReadBuffer) (interface{}, error) {
 	switch typeName {
 	case "AmsSerialFrame":
-		return model.AmsSerialFrameParse(io)
+		return model.AmsSerialFrameParseWithBuffer(io)
 	case "DataItem":
 		plcValueType, _ := model.PlcValueTypeByName(arguments[0])
 		stringLength, err := utils.StrToInt32(arguments[1])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.DataItemParse(io, plcValueType, stringLength)
+		return model.DataItemParseWithBuffer(io, plcValueType, stringLength)
 	case "AdsTableSizes":
-		return model.AdsTableSizesParse(io)
+		return model.AdsTableSizesParseWithBuffer(io)
 	case "AdsMultiRequestItem":
 		indexGroup, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.AdsMultiRequestItemParse(io, indexGroup)
+		return model.AdsMultiRequestItemParseWithBuffer(io, indexGroup)
 	case "AmsSerialAcknowledgeFrame":
-		return model.AmsSerialAcknowledgeFrameParse(io)
+		return model.AmsSerialAcknowledgeFrameParseWithBuffer(io)
 	case "AdsDataTypeArrayInfo":
-		return model.AdsDataTypeArrayInfoParse(io)
+		return model.AdsDataTypeArrayInfoParseWithBuffer(io)
 	case "AdsDataTypeTableEntry":
-		return model.AdsDataTypeTableEntryParse(io)
+		return model.AdsDataTypeTableEntryParseWithBuffer(io)
 	case "AmsNetId":
-		return model.AmsNetIdParse(io)
+		return model.AmsNetIdParseWithBuffer(io)
 	case "AdsStampHeader":
-		return model.AdsStampHeaderParse(io)
+		return model.AdsStampHeaderParseWithBuffer(io)
 	case "AmsSerialResetFrame":
-		return model.AmsSerialResetFrameParse(io)
+		return model.AmsSerialResetFrameParseWithBuffer(io)
 	case "AdsDataTypeTableChildEntry":
-		return model.AdsDataTypeTableChildEntryParse(io)
+		return model.AdsDataTypeTableChildEntryParseWithBuffer(io)
 	case "AdsConstants":
-		return model.AdsConstantsParse(io)
+		return model.AdsConstantsParseWithBuffer(io)
 	case "AdsNotificationSample":
-		return model.AdsNotificationSampleParse(io)
+		return model.AdsNotificationSampleParseWithBuffer(io)
 	case "AdsSymbolTableEntry":
-		return model.AdsSymbolTableEntryParse(io)
+		return model.AdsSymbolTableEntryParseWithBuffer(io)
 	case "AmsTCPPacket":
-		return model.AmsTCPPacketParse(io)
+		return model.AmsTCPPacketParseWithBuffer(io)
 	case "AmsPacket":
-		return model.AmsPacketParse(io)
+		return model.AmsPacketParseWithBuffer(io)
 	}
 	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/protocols/ads/readwrite/XmlParserHelper.go b/plc4go/protocols/ads/readwrite/XmlParserHelper.go
index 06b1eb683..c3874ef5a 100644
--- a/plc4go/protocols/ads/readwrite/XmlParserHelper.go
+++ b/plc4go/protocols/ads/readwrite/XmlParserHelper.go
@@ -43,7 +43,7 @@ func init() {
 func (m AdsXmlParserHelper) Parse(typeName string, xmlString string, parserArguments ...string) (interface{}, error) {
 	switch typeName {
 	case "AmsSerialFrame":
-		return model.AmsSerialFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AmsSerialFrameParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "DataItem":
 		plcValueType, _ := model.PlcValueTypeByName(parserArguments[0])
 		parsedInt1, err := strconv.ParseInt(parserArguments[1], 10, 32)
@@ -51,40 +51,40 @@ func (m AdsXmlParserHelper) Parse(typeName string, xmlString string, parserArgum
 			return nil, err
 		}
 		stringLength := int32(parsedInt1)
-		return model.DataItemParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), plcValueType, stringLength)
+		return model.DataItemParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), plcValueType, stringLength)
 	case "AdsTableSizes":
-		return model.AdsTableSizesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AdsTableSizesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AdsMultiRequestItem":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		indexGroup := uint32(parsedUint0)
-		return model.AdsMultiRequestItemParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), indexGroup)
+		return model.AdsMultiRequestItemParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), indexGroup)
 	case "AmsSerialAcknowledgeFrame":
-		return model.AmsSerialAcknowledgeFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AmsSerialAcknowledgeFrameParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AdsDataTypeArrayInfo":
-		return model.AdsDataTypeArrayInfoParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AdsDataTypeArrayInfoParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AdsDataTypeTableEntry":
-		return model.AdsDataTypeTableEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AdsDataTypeTableEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AmsNetId":
-		return model.AmsNetIdParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AmsNetIdParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AdsStampHeader":
-		return model.AdsStampHeaderParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AdsStampHeaderParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AmsSerialResetFrame":
-		return model.AmsSerialResetFrameParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AmsSerialResetFrameParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AdsDataTypeTableChildEntry":
-		return model.AdsDataTypeTableChildEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AdsDataTypeTableChildEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AdsConstants":
-		return model.AdsConstantsParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AdsConstantsParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AdsNotificationSample":
-		return model.AdsNotificationSampleParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AdsNotificationSampleParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AdsSymbolTableEntry":
-		return model.AdsSymbolTableEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AdsSymbolTableEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AmsTCPPacket":
-		return model.AmsTCPPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AmsTCPPacketParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "AmsPacket":
-		return model.AmsPacketParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.AmsPacketParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	}
 	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationRequest.go b/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
index ae27f32cb..0555d3812 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationRequest.go
@@ -201,7 +201,7 @@ func (m *_AdsAddDeviceNotificationRequest) GetLengthInBytes() uint16 {
 }
 
 func AdsAddDeviceNotificationRequestParse(theBytes []byte) (AdsAddDeviceNotificationRequest, error) {
-	return AdsAddDeviceNotificationRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes))
+	return AdsAddDeviceNotificationRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
 }
 
 func AdsAddDeviceNotificationRequestParseWithBuffer(readBuffer utils.ReadBuffer) (AdsAddDeviceNotificationRequest, error) {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationResponse.go b/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
index 4f5f40f95..9c031e7b9 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsAddDeviceNotificationResponse.go
@@ -147,7 +147,11 @@ func (m *_AdsAddDeviceNotificationResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (AdsAddDeviceNotificationResponse, error) {
+func AdsAddDeviceNotificationResponseParse(theBytes []byte) (AdsAddDeviceNotificationResponse, error) {
+	return AdsAddDeviceNotificationResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsAddDeviceNotificationResponseParseWithBuffer(readBuffer utils.ReadBuffer) (AdsAddDeviceNotificationResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsAddDeviceNotificationResponse"); pullErr != nil {
@@ -160,7 +164,7 @@ func AdsAddDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (AdsAddD
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for result")
 	}
-	_result, _resultErr := ReturnCodeParse(readBuffer)
+	_result, _resultErr := ReturnCodeParseWithBuffer(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field of AdsAddDeviceNotificationResponse")
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsConstants.go b/plc4go/protocols/ads/readwrite/model/AdsConstants.go
index db353face..64edad48e 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsConstants.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsConstants.go
@@ -99,7 +99,11 @@ func (m *_AdsConstants) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsConstantsParse(readBuffer utils.ReadBuffer) (AdsConstants, error) {
+func AdsConstantsParse(theBytes []byte) (AdsConstants, error) {
+	return AdsConstantsParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsConstantsParseWithBuffer(readBuffer utils.ReadBuffer) (AdsConstants, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsConstants"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsDataType.go b/plc4go/protocols/ads/readwrite/model/AdsDataType.go
index 3ee587fea..a169843bf 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsDataType.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsDataType.go
@@ -682,7 +682,11 @@ func (m AdsDataType) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsDataTypeParse(readBuffer utils.ReadBuffer) (AdsDataType, error) {
+func AdsDataTypeParse(theBytes []byte) (AdsDataType, error) {
+	return AdsDataTypeParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsDataTypeParseWithBuffer(readBuffer utils.ReadBuffer) (AdsDataType, error) {
 	val, err := readBuffer.ReadInt8("AdsDataType", 8)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading AdsDataType")
diff --git a/plc4go/protocols/ads/readwrite/model/AdsDataTypeArrayInfo.go b/plc4go/protocols/ads/readwrite/model/AdsDataTypeArrayInfo.go
index a300d7c28..376989b61 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsDataTypeArrayInfo.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsDataTypeArrayInfo.go
@@ -125,7 +125,11 @@ func (m *_AdsDataTypeArrayInfo) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsDataTypeArrayInfoParse(readBuffer utils.ReadBuffer) (AdsDataTypeArrayInfo, error) {
+func AdsDataTypeArrayInfoParse(theBytes []byte) (AdsDataTypeArrayInfo, error) {
+	return AdsDataTypeArrayInfoParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsDataTypeArrayInfoParseWithBuffer(readBuffer utils.ReadBuffer) (AdsDataTypeArrayInfo, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsDataTypeArrayInfo"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsDataTypeTableChildEntry.go b/plc4go/protocols/ads/readwrite/model/AdsDataTypeTableChildEntry.go
index 860c11e72..3ed2ab083 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsDataTypeTableChildEntry.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsDataTypeTableChildEntry.go
@@ -305,7 +305,11 @@ func (m *_AdsDataTypeTableChildEntry) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsDataTypeTableChildEntryParse(readBuffer utils.ReadBuffer) (AdsDataTypeTableChildEntry, error) {
+func AdsDataTypeTableChildEntryParse(theBytes []byte) (AdsDataTypeTableChildEntry, error) {
+	return AdsDataTypeTableChildEntryParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsDataTypeTableChildEntryParseWithBuffer(readBuffer utils.ReadBuffer) (AdsDataTypeTableChildEntry, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsDataTypeTableChildEntry"); pullErr != nil {
@@ -468,7 +472,7 @@ func AdsDataTypeTableChildEntryParse(readBuffer utils.ReadBuffer) (AdsDataTypeTa
 	}
 	{
 		for curItem := uint16(0); curItem < uint16(arrayDimensions); curItem++ {
-			_item, _err := AdsDataTypeArrayInfoParse(readBuffer)
+			_item, _err := AdsDataTypeArrayInfoParseWithBuffer(readBuffer)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'arrayInfo' field of AdsDataTypeTableChildEntry")
 			}
@@ -491,7 +495,7 @@ func AdsDataTypeTableChildEntryParse(readBuffer utils.ReadBuffer) (AdsDataTypeTa
 	}
 	{
 		for curItem := uint16(0); curItem < uint16(numChildren); curItem++ {
-			_item, _err := AdsDataTypeTableEntryParse(readBuffer)
+			_item, _err := AdsDataTypeTableEntryParseWithBuffer(readBuffer)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'children' field of AdsDataTypeTableChildEntry")
 			}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsDataTypeTableEntry.go b/plc4go/protocols/ads/readwrite/model/AdsDataTypeTableEntry.go
index f407c98b3..50cc4bc9a 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsDataTypeTableEntry.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsDataTypeTableEntry.go
@@ -305,7 +305,11 @@ func (m *_AdsDataTypeTableEntry) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsDataTypeTableEntryParse(readBuffer utils.ReadBuffer) (AdsDataTypeTableEntry, error) {
+func AdsDataTypeTableEntryParse(theBytes []byte) (AdsDataTypeTableEntry, error) {
+	return AdsDataTypeTableEntryParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsDataTypeTableEntryParseWithBuffer(readBuffer utils.ReadBuffer) (AdsDataTypeTableEntry, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsDataTypeTableEntry"); pullErr != nil {
@@ -468,7 +472,7 @@ func AdsDataTypeTableEntryParse(readBuffer utils.ReadBuffer) (AdsDataTypeTableEn
 	}
 	{
 		for curItem := uint16(0); curItem < uint16(arrayDimensions); curItem++ {
-			_item, _err := AdsDataTypeArrayInfoParse(readBuffer)
+			_item, _err := AdsDataTypeArrayInfoParseWithBuffer(readBuffer)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'arrayInfo' field of AdsDataTypeTableEntry")
 			}
@@ -491,7 +495,7 @@ func AdsDataTypeTableEntryParse(readBuffer utils.ReadBuffer) (AdsDataTypeTableEn
 	}
 	{
 		for curItem := uint16(0); curItem < uint16(numChildren); curItem++ {
-			_item, _err := AdsDataTypeTableChildEntryParse(readBuffer)
+			_item, _err := AdsDataTypeTableChildEntryParseWithBuffer(readBuffer)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'children' field of AdsDataTypeTableEntry")
 			}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go b/plc4go/protocols/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
index 205e91c90..6cab916e5 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsDeleteDeviceNotificationRequest.go
@@ -136,7 +136,11 @@ func (m *_AdsDeleteDeviceNotificationRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsDeleteDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (AdsDeleteDeviceNotificationRequest, error) {
+func AdsDeleteDeviceNotificationRequestParse(theBytes []byte) (AdsDeleteDeviceNotificationRequest, error) {
+	return AdsDeleteDeviceNotificationRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsDeleteDeviceNotificationRequestParseWithBuffer(readBuffer utils.ReadBuffer) (AdsDeleteDeviceNotificationRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsDeleteDeviceNotificationRequest"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go b/plc4go/protocols/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
index 8297af0c3..754bb925f 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsDeleteDeviceNotificationResponse.go
@@ -136,7 +136,11 @@ func (m *_AdsDeleteDeviceNotificationResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsDeleteDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (AdsDeleteDeviceNotificationResponse, error) {
+func AdsDeleteDeviceNotificationResponseParse(theBytes []byte) (AdsDeleteDeviceNotificationResponse, error) {
+	return AdsDeleteDeviceNotificationResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsDeleteDeviceNotificationResponseParseWithBuffer(readBuffer utils.ReadBuffer) (AdsDeleteDeviceNotificationResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsDeleteDeviceNotificationResponse"); pullErr != nil {
@@ -149,7 +153,7 @@ func AdsDeleteDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (AdsD
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for result")
 	}
-	_result, _resultErr := ReturnCodeParse(readBuffer)
+	_result, _resultErr := ReturnCodeParseWithBuffer(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field of AdsDeleteDeviceNotificationResponse")
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsDeviceNotificationRequest.go b/plc4go/protocols/ads/readwrite/model/AdsDeviceNotificationRequest.go
index 65e31ad2f..d48ee6370 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsDeviceNotificationRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsDeviceNotificationRequest.go
@@ -163,7 +163,11 @@ func (m *_AdsDeviceNotificationRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (AdsDeviceNotificationRequest, error) {
+func AdsDeviceNotificationRequestParse(theBytes []byte) (AdsDeviceNotificationRequest, error) {
+	return AdsDeviceNotificationRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsDeviceNotificationRequestParseWithBuffer(readBuffer utils.ReadBuffer) (AdsDeviceNotificationRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsDeviceNotificationRequest"); pullErr != nil {
@@ -198,7 +202,7 @@ func AdsDeviceNotificationRequestParse(readBuffer utils.ReadBuffer) (AdsDeviceNo
 	}
 	{
 		for curItem := uint16(0); curItem < uint16(stamps); curItem++ {
-			_item, _err := AdsStampHeaderParse(readBuffer)
+			_item, _err := AdsStampHeaderParseWithBuffer(readBuffer)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'adsStampHeaders' field of AdsDeviceNotificationRequest")
 			}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsDeviceNotificationResponse.go b/plc4go/protocols/ads/readwrite/model/AdsDeviceNotificationResponse.go
index ca93efc69..c9e5f8af3 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsDeviceNotificationResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsDeviceNotificationResponse.go
@@ -115,7 +115,11 @@ func (m *_AdsDeviceNotificationResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsDeviceNotificationResponseParse(readBuffer utils.ReadBuffer) (AdsDeviceNotificationResponse, error) {
+func AdsDeviceNotificationResponseParse(theBytes []byte) (AdsDeviceNotificationResponse, error) {
+	return AdsDeviceNotificationResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsDeviceNotificationResponseParseWithBuffer(readBuffer utils.ReadBuffer) (AdsDeviceNotificationResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsDeviceNotificationResponse"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsInvalidRequest.go b/plc4go/protocols/ads/readwrite/model/AdsInvalidRequest.go
index 56c7d3d44..1f91a79e0 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsInvalidRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsInvalidRequest.go
@@ -115,7 +115,11 @@ func (m *_AdsInvalidRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsInvalidRequestParse(readBuffer utils.ReadBuffer) (AdsInvalidRequest, error) {
+func AdsInvalidRequestParse(theBytes []byte) (AdsInvalidRequest, error) {
+	return AdsInvalidRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsInvalidRequestParseWithBuffer(readBuffer utils.ReadBuffer) (AdsInvalidRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsInvalidRequest"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsInvalidResponse.go b/plc4go/protocols/ads/readwrite/model/AdsInvalidResponse.go
index b2b0a20c2..c1b1a7988 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsInvalidResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsInvalidResponse.go
@@ -115,7 +115,11 @@ func (m *_AdsInvalidResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsInvalidResponseParse(readBuffer utils.ReadBuffer) (AdsInvalidResponse, error) {
+func AdsInvalidResponseParse(theBytes []byte) (AdsInvalidResponse, error) {
+	return AdsInvalidResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsInvalidResponseParseWithBuffer(readBuffer utils.ReadBuffer) (AdsInvalidResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsInvalidResponse"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItem.go b/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItem.go
index c642fda49..41a2225d1 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItem.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItem.go
@@ -20,6 +20,7 @@
 package model
 
 import (
+	"encoding/binary"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
@@ -97,7 +98,11 @@ func (m *_AdsMultiRequestItem) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsMultiRequestItemParse(readBuffer utils.ReadBuffer, indexGroup uint32) (AdsMultiRequestItem, error) {
+func AdsMultiRequestItemParse(theBytes []byte, indexGroup uint32) (AdsMultiRequestItem, error) {
+	return AdsMultiRequestItemParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), indexGroup) // TODO: get endianness from mspec
+}
+
+func AdsMultiRequestItemParseWithBuffer(readBuffer utils.ReadBuffer, indexGroup uint32) (AdsMultiRequestItem, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsMultiRequestItem"); pullErr != nil {
@@ -117,11 +122,11 @@ func AdsMultiRequestItemParse(readBuffer utils.ReadBuffer, indexGroup uint32) (A
 	var typeSwitchError error
 	switch {
 	case indexGroup == uint32(61568): // AdsMultiRequestItemRead
-		_childTemp, typeSwitchError = AdsMultiRequestItemReadParse(readBuffer, indexGroup)
+		_childTemp, typeSwitchError = AdsMultiRequestItemReadParseWithBuffer(readBuffer, indexGroup)
 	case indexGroup == uint32(61569): // AdsMultiRequestItemWrite
-		_childTemp, typeSwitchError = AdsMultiRequestItemWriteParse(readBuffer, indexGroup)
+		_childTemp, typeSwitchError = AdsMultiRequestItemWriteParseWithBuffer(readBuffer, indexGroup)
 	case indexGroup == uint32(61570): // AdsMultiRequestItemReadWrite
-		_childTemp, typeSwitchError = AdsMultiRequestItemReadWriteParse(readBuffer, indexGroup)
+		_childTemp, typeSwitchError = AdsMultiRequestItemReadWriteParseWithBuffer(readBuffer, indexGroup)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [indexGroup=%v]", indexGroup)
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemRead.go b/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemRead.go
index 043dfdc25..1884e0ffd 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemRead.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemRead.go
@@ -147,7 +147,11 @@ func (m *_AdsMultiRequestItemRead) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsMultiRequestItemReadParse(readBuffer utils.ReadBuffer, indexGroup uint32) (AdsMultiRequestItemRead, error) {
+func AdsMultiRequestItemReadParse(theBytes []byte, indexGroup uint32) (AdsMultiRequestItemRead, error) {
+	return AdsMultiRequestItemReadParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), indexGroup) // TODO: get endianness from mspec
+}
+
+func AdsMultiRequestItemReadParseWithBuffer(readBuffer utils.ReadBuffer, indexGroup uint32) (AdsMultiRequestItemRead, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsMultiRequestItemRead"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemReadWrite.go b/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
index dfb4c9040..224452c03 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemReadWrite.go
@@ -158,7 +158,11 @@ func (m *_AdsMultiRequestItemReadWrite) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsMultiRequestItemReadWriteParse(readBuffer utils.ReadBuffer, indexGroup uint32) (AdsMultiRequestItemReadWrite, error) {
+func AdsMultiRequestItemReadWriteParse(theBytes []byte, indexGroup uint32) (AdsMultiRequestItemReadWrite, error) {
+	return AdsMultiRequestItemReadWriteParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), indexGroup) // TODO: get endianness from mspec
+}
+
+func AdsMultiRequestItemReadWriteParseWithBuffer(readBuffer utils.ReadBuffer, indexGroup uint32) (AdsMultiRequestItemReadWrite, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsMultiRequestItemReadWrite"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemWrite.go b/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemWrite.go
index 95725de52..74d0f3315 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemWrite.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsMultiRequestItemWrite.go
@@ -147,7 +147,11 @@ func (m *_AdsMultiRequestItemWrite) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsMultiRequestItemWriteParse(readBuffer utils.ReadBuffer, indexGroup uint32) (AdsMultiRequestItemWrite, error) {
+func AdsMultiRequestItemWriteParse(theBytes []byte, indexGroup uint32) (AdsMultiRequestItemWrite, error) {
+	return AdsMultiRequestItemWriteParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), indexGroup) // TODO: get endianness from mspec
+}
+
+func AdsMultiRequestItemWriteParseWithBuffer(readBuffer utils.ReadBuffer, indexGroup uint32) (AdsMultiRequestItemWrite, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsMultiRequestItemWrite"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsNotificationSample.go b/plc4go/protocols/ads/readwrite/model/AdsNotificationSample.go
index 1e9116342..f4189e467 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsNotificationSample.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsNotificationSample.go
@@ -120,7 +120,11 @@ func (m *_AdsNotificationSample) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsNotificationSampleParse(readBuffer utils.ReadBuffer) (AdsNotificationSample, error) {
+func AdsNotificationSampleParse(theBytes []byte) (AdsNotificationSample, error) {
+	return AdsNotificationSampleParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsNotificationSampleParseWithBuffer(readBuffer utils.ReadBuffer) (AdsNotificationSample, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsNotificationSample"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsReadDeviceInfoRequest.go b/plc4go/protocols/ads/readwrite/model/AdsReadDeviceInfoRequest.go
index d4376c42c..0aeb3dac8 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsReadDeviceInfoRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsReadDeviceInfoRequest.go
@@ -115,7 +115,11 @@ func (m *_AdsReadDeviceInfoRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsReadDeviceInfoRequestParse(readBuffer utils.ReadBuffer) (AdsReadDeviceInfoRequest, error) {
+func AdsReadDeviceInfoRequestParse(theBytes []byte) (AdsReadDeviceInfoRequest, error) {
+	return AdsReadDeviceInfoRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsReadDeviceInfoRequestParseWithBuffer(readBuffer utils.ReadBuffer) (AdsReadDeviceInfoRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsReadDeviceInfoRequest"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsReadDeviceInfoResponse.go b/plc4go/protocols/ads/readwrite/model/AdsReadDeviceInfoResponse.go
index 1bea7b2cb..13eaa7f67 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsReadDeviceInfoResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsReadDeviceInfoResponse.go
@@ -182,7 +182,11 @@ func (m *_AdsReadDeviceInfoResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer) (AdsReadDeviceInfoResponse, error) {
+func AdsReadDeviceInfoResponseParse(theBytes []byte) (AdsReadDeviceInfoResponse, error) {
+	return AdsReadDeviceInfoResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsReadDeviceInfoResponseParseWithBuffer(readBuffer utils.ReadBuffer) (AdsReadDeviceInfoResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsReadDeviceInfoResponse"); pullErr != nil {
@@ -195,7 +199,7 @@ func AdsReadDeviceInfoResponseParse(readBuffer utils.ReadBuffer) (AdsReadDeviceI
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for result")
 	}
-	_result, _resultErr := ReturnCodeParse(readBuffer)
+	_result, _resultErr := ReturnCodeParseWithBuffer(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field of AdsReadDeviceInfoResponse")
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsReadRequest.go b/plc4go/protocols/ads/readwrite/model/AdsReadRequest.go
index bfc360654..122c4efae 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsReadRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsReadRequest.go
@@ -158,7 +158,11 @@ func (m *_AdsReadRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsReadRequestParse(readBuffer utils.ReadBuffer) (AdsReadRequest, error) {
+func AdsReadRequestParse(theBytes []byte) (AdsReadRequest, error) {
+	return AdsReadRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsReadRequestParseWithBuffer(readBuffer utils.ReadBuffer) (AdsReadRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsReadRequest"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsReadResponse.go b/plc4go/protocols/ads/readwrite/model/AdsReadResponse.go
index 3e447a052..9d4a09bda 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsReadResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsReadResponse.go
@@ -152,7 +152,11 @@ func (m *_AdsReadResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsReadResponseParse(readBuffer utils.ReadBuffer) (AdsReadResponse, error) {
+func AdsReadResponseParse(theBytes []byte) (AdsReadResponse, error) {
+	return AdsReadResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsReadResponseParseWithBuffer(readBuffer utils.ReadBuffer) (AdsReadResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsReadResponse"); pullErr != nil {
@@ -165,7 +169,7 @@ func AdsReadResponseParse(readBuffer utils.ReadBuffer) (AdsReadResponse, error)
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for result")
 	}
-	_result, _resultErr := ReturnCodeParse(readBuffer)
+	_result, _resultErr := ReturnCodeParseWithBuffer(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field of AdsReadResponse")
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsReadStateRequest.go b/plc4go/protocols/ads/readwrite/model/AdsReadStateRequest.go
index 4452f6bbe..7b0211b26 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsReadStateRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsReadStateRequest.go
@@ -115,7 +115,11 @@ func (m *_AdsReadStateRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsReadStateRequestParse(readBuffer utils.ReadBuffer) (AdsReadStateRequest, error) {
+func AdsReadStateRequestParse(theBytes []byte) (AdsReadStateRequest, error) {
+	return AdsReadStateRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsReadStateRequestParseWithBuffer(readBuffer utils.ReadBuffer) (AdsReadStateRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsReadStateRequest"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsReadStateResponse.go b/plc4go/protocols/ads/readwrite/model/AdsReadStateResponse.go
index 83acaa9ff..8eff9f826 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsReadStateResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsReadStateResponse.go
@@ -158,7 +158,11 @@ func (m *_AdsReadStateResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsReadStateResponseParse(readBuffer utils.ReadBuffer) (AdsReadStateResponse, error) {
+func AdsReadStateResponseParse(theBytes []byte) (AdsReadStateResponse, error) {
+	return AdsReadStateResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsReadStateResponseParseWithBuffer(readBuffer utils.ReadBuffer) (AdsReadStateResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsReadStateResponse"); pullErr != nil {
@@ -171,7 +175,7 @@ func AdsReadStateResponseParse(readBuffer utils.ReadBuffer) (AdsReadStateRespons
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for result")
 	}
-	_result, _resultErr := ReturnCodeParse(readBuffer)
+	_result, _resultErr := ReturnCodeParseWithBuffer(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field of AdsReadStateResponse")
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsReadWriteRequest.go b/plc4go/protocols/ads/readwrite/model/AdsReadWriteRequest.go
index c30e6bd68..99577c691 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsReadWriteRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsReadWriteRequest.go
@@ -190,7 +190,11 @@ func (m *_AdsReadWriteRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsReadWriteRequestParse(readBuffer utils.ReadBuffer) (AdsReadWriteRequest, error) {
+func AdsReadWriteRequestParse(theBytes []byte) (AdsReadWriteRequest, error) {
+	return AdsReadWriteRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsReadWriteRequestParseWithBuffer(readBuffer utils.ReadBuffer) (AdsReadWriteRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsReadWriteRequest"); pullErr != nil {
@@ -239,7 +243,7 @@ func AdsReadWriteRequestParse(readBuffer utils.ReadBuffer) (AdsReadWriteRequest,
 	}
 	{
 		for curItem := uint16(0); curItem < uint16(utils.InlineIf((bool(bool((bool((indexGroup) == (61568)))) || bool((bool((indexGroup) == (61569))))) || bool((bool((indexGroup) == (61570))))), func() interface{} { return uint16(indexOffset) }, func() interface{} { return uint16(uint16(0)) }).(uint16)); curItem++ {
-			_item, _err := AdsMultiRequestItemParse(readBuffer, indexGroup)
+			_item, _err := AdsMultiRequestItemParseWithBuffer(readBuffer, indexGroup)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'items' field of AdsReadWriteRequest")
 			}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsReadWriteResponse.go b/plc4go/protocols/ads/readwrite/model/AdsReadWriteResponse.go
index c2d0705af..c8a0ee7ce 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsReadWriteResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsReadWriteResponse.go
@@ -152,7 +152,11 @@ func (m *_AdsReadWriteResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsReadWriteResponseParse(readBuffer utils.ReadBuffer) (AdsReadWriteResponse, error) {
+func AdsReadWriteResponseParse(theBytes []byte) (AdsReadWriteResponse, error) {
+	return AdsReadWriteResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsReadWriteResponseParseWithBuffer(readBuffer utils.ReadBuffer) (AdsReadWriteResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsReadWriteResponse"); pullErr != nil {
@@ -165,7 +169,7 @@ func AdsReadWriteResponseParse(readBuffer utils.ReadBuffer) (AdsReadWriteRespons
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for result")
 	}
-	_result, _resultErr := ReturnCodeParse(readBuffer)
+	_result, _resultErr := ReturnCodeParseWithBuffer(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field of AdsReadWriteResponse")
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsStampHeader.go b/plc4go/protocols/ads/readwrite/model/AdsStampHeader.go
index c3a7670b5..eb3b17532 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsStampHeader.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsStampHeader.go
@@ -123,7 +123,11 @@ func (m *_AdsStampHeader) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsStampHeaderParse(readBuffer utils.ReadBuffer) (AdsStampHeader, error) {
+func AdsStampHeaderParse(theBytes []byte) (AdsStampHeader, error) {
+	return AdsStampHeaderParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsStampHeaderParseWithBuffer(readBuffer utils.ReadBuffer) (AdsStampHeader, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsStampHeader"); pullErr != nil {
@@ -158,7 +162,7 @@ func AdsStampHeaderParse(readBuffer utils.ReadBuffer) (AdsStampHeader, error) {
 	}
 	{
 		for curItem := uint16(0); curItem < uint16(samples); curItem++ {
-			_item, _err := AdsNotificationSampleParse(readBuffer)
+			_item, _err := AdsNotificationSampleParseWithBuffer(readBuffer)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'adsNotificationSamples' field of AdsStampHeader")
 			}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsSymbolTableEntry.go b/plc4go/protocols/ads/readwrite/model/AdsSymbolTableEntry.go
index e322fdbcd..62bbf0a4a 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsSymbolTableEntry.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsSymbolTableEntry.go
@@ -364,7 +364,11 @@ func (m *_AdsSymbolTableEntry) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsSymbolTableEntryParse(readBuffer utils.ReadBuffer) (AdsSymbolTableEntry, error) {
+func AdsSymbolTableEntryParse(theBytes []byte) (AdsSymbolTableEntry, error) {
+	return AdsSymbolTableEntryParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsSymbolTableEntryParseWithBuffer(readBuffer utils.ReadBuffer) (AdsSymbolTableEntry, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsSymbolTableEntry"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsTableSizes.go b/plc4go/protocols/ads/readwrite/model/AdsTableSizes.go
index 0ddf5998f..29d63c6a0 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsTableSizes.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsTableSizes.go
@@ -148,7 +148,11 @@ func (m *_AdsTableSizes) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsTableSizesParse(readBuffer utils.ReadBuffer) (AdsTableSizes, error) {
+func AdsTableSizesParse(theBytes []byte) (AdsTableSizes, error) {
+	return AdsTableSizesParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsTableSizesParseWithBuffer(readBuffer utils.ReadBuffer) (AdsTableSizes, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsTableSizes"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsWriteControlRequest.go b/plc4go/protocols/ads/readwrite/model/AdsWriteControlRequest.go
index 18aed3e86..768169b52 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsWriteControlRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsWriteControlRequest.go
@@ -163,7 +163,11 @@ func (m *_AdsWriteControlRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsWriteControlRequestParse(readBuffer utils.ReadBuffer) (AdsWriteControlRequest, error) {
+func AdsWriteControlRequestParse(theBytes []byte) (AdsWriteControlRequest, error) {
+	return AdsWriteControlRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsWriteControlRequestParseWithBuffer(readBuffer utils.ReadBuffer) (AdsWriteControlRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsWriteControlRequest"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsWriteControlResponse.go b/plc4go/protocols/ads/readwrite/model/AdsWriteControlResponse.go
index ca773f16e..9487c462a 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsWriteControlResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsWriteControlResponse.go
@@ -136,7 +136,11 @@ func (m *_AdsWriteControlResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsWriteControlResponseParse(readBuffer utils.ReadBuffer) (AdsWriteControlResponse, error) {
+func AdsWriteControlResponseParse(theBytes []byte) (AdsWriteControlResponse, error) {
+	return AdsWriteControlResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsWriteControlResponseParseWithBuffer(readBuffer utils.ReadBuffer) (AdsWriteControlResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsWriteControlResponse"); pullErr != nil {
@@ -149,7 +153,7 @@ func AdsWriteControlResponseParse(readBuffer utils.ReadBuffer) (AdsWriteControlR
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for result")
 	}
-	_result, _resultErr := ReturnCodeParse(readBuffer)
+	_result, _resultErr := ReturnCodeParseWithBuffer(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field of AdsWriteControlResponse")
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AdsWriteRequest.go b/plc4go/protocols/ads/readwrite/model/AdsWriteRequest.go
index 3be6837d2..e4d628908 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsWriteRequest.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsWriteRequest.go
@@ -163,7 +163,11 @@ func (m *_AdsWriteRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsWriteRequestParse(readBuffer utils.ReadBuffer) (AdsWriteRequest, error) {
+func AdsWriteRequestParse(theBytes []byte) (AdsWriteRequest, error) {
+	return AdsWriteRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsWriteRequestParseWithBuffer(readBuffer utils.ReadBuffer) (AdsWriteRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsWriteRequest"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AdsWriteResponse.go b/plc4go/protocols/ads/readwrite/model/AdsWriteResponse.go
index efbe67913..13a99122b 100644
--- a/plc4go/protocols/ads/readwrite/model/AdsWriteResponse.go
+++ b/plc4go/protocols/ads/readwrite/model/AdsWriteResponse.go
@@ -136,7 +136,11 @@ func (m *_AdsWriteResponse) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AdsWriteResponseParse(readBuffer utils.ReadBuffer) (AdsWriteResponse, error) {
+func AdsWriteResponseParse(theBytes []byte) (AdsWriteResponse, error) {
+	return AdsWriteResponseParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AdsWriteResponseParseWithBuffer(readBuffer utils.ReadBuffer) (AdsWriteResponse, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AdsWriteResponse"); pullErr != nil {
@@ -149,7 +153,7 @@ func AdsWriteResponseParse(readBuffer utils.ReadBuffer) (AdsWriteResponse, error
 	if pullErr := readBuffer.PullContext("result"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for result")
 	}
-	_result, _resultErr := ReturnCodeParse(readBuffer)
+	_result, _resultErr := ReturnCodeParseWithBuffer(readBuffer)
 	if _resultErr != nil {
 		return nil, errors.Wrap(_resultErr, "Error parsing 'result' field of AdsWriteResponse")
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AmsNetId.go b/plc4go/protocols/ads/readwrite/model/AmsNetId.go
index 5c9b0b3e2..3e9a7a048 100644
--- a/plc4go/protocols/ads/readwrite/model/AmsNetId.go
+++ b/plc4go/protocols/ads/readwrite/model/AmsNetId.go
@@ -148,7 +148,11 @@ func (m *_AmsNetId) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AmsNetIdParse(readBuffer utils.ReadBuffer) (AmsNetId, error) {
+func AmsNetIdParse(theBytes []byte) (AmsNetId, error) {
+	return AmsNetIdParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AmsNetIdParseWithBuffer(readBuffer utils.ReadBuffer) (AmsNetId, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AmsNetId"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AmsPacket.go b/plc4go/protocols/ads/readwrite/model/AmsPacket.go
index a1ac8f63d..54828fb59 100644
--- a/plc4go/protocols/ads/readwrite/model/AmsPacket.go
+++ b/plc4go/protocols/ads/readwrite/model/AmsPacket.go
@@ -20,6 +20,7 @@
 package model
 
 import (
+	"encoding/binary"
 	"fmt"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
@@ -258,7 +259,11 @@ func (m *_AmsPacket) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AmsPacketParse(readBuffer utils.ReadBuffer) (AmsPacket, error) {
+func AmsPacketParse(theBytes []byte) (AmsPacket, error) {
+	return AmsPacketParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AmsPacketParseWithBuffer(readBuffer utils.ReadBuffer) (AmsPacket, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AmsPacket"); pullErr != nil {
@@ -271,7 +276,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (AmsPacket, error) {
 	if pullErr := readBuffer.PullContext("targetAmsNetId"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for targetAmsNetId")
 	}
-	_targetAmsNetId, _targetAmsNetIdErr := AmsNetIdParse(readBuffer)
+	_targetAmsNetId, _targetAmsNetIdErr := AmsNetIdParseWithBuffer(readBuffer)
 	if _targetAmsNetIdErr != nil {
 		return nil, errors.Wrap(_targetAmsNetIdErr, "Error parsing 'targetAmsNetId' field of AmsPacket")
 	}
@@ -291,7 +296,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (AmsPacket, error) {
 	if pullErr := readBuffer.PullContext("sourceAmsNetId"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for sourceAmsNetId")
 	}
-	_sourceAmsNetId, _sourceAmsNetIdErr := AmsNetIdParse(readBuffer)
+	_sourceAmsNetId, _sourceAmsNetIdErr := AmsNetIdParseWithBuffer(readBuffer)
 	if _sourceAmsNetIdErr != nil {
 		return nil, errors.Wrap(_sourceAmsNetIdErr, "Error parsing 'sourceAmsNetId' field of AmsPacket")
 	}
@@ -311,7 +316,7 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (AmsPacket, error) {
 	if pullErr := readBuffer.PullContext("commandId"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for commandId")
 	}
-	commandId_temp, _commandIdErr := CommandIdParse(readBuffer)
+	commandId_temp, _commandIdErr := CommandIdParseWithBuffer(readBuffer)
 	var commandId CommandId = commandId_temp
 	if closeErr := readBuffer.CloseContext("commandId"); closeErr != nil {
 		return nil, errors.Wrap(closeErr, "Error closing for commandId")
@@ -447,45 +452,45 @@ func AmsPacketParse(readBuffer utils.ReadBuffer) (AmsPacket, error) {
 	var typeSwitchError error
 	switch {
 	case commandId == CommandId_INVALID && response == bool(false): // AdsInvalidRequest
-		_childTemp, typeSwitchError = AdsInvalidRequestParse(readBuffer)
+		_childTemp, typeSwitchError = AdsInvalidRequestParseWithBuffer(readBuffer)
 	case commandId == CommandId_INVALID && response == bool(true): // AdsInvalidResponse
-		_childTemp, typeSwitchError = AdsInvalidResponseParse(readBuffer)
+		_childTemp, typeSwitchError = AdsInvalidResponseParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_READ_DEVICE_INFO && response == bool(false): // AdsReadDeviceInfoRequest
-		_childTemp, typeSwitchError = AdsReadDeviceInfoRequestParse(readBuffer)
+		_childTemp, typeSwitchError = AdsReadDeviceInfoRequestParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_READ_DEVICE_INFO && response == bool(true): // AdsReadDeviceInfoResponse
-		_childTemp, typeSwitchError = AdsReadDeviceInfoResponseParse(readBuffer)
+		_childTemp, typeSwitchError = AdsReadDeviceInfoResponseParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_READ && response == bool(false): // AdsReadRequest
-		_childTemp, typeSwitchError = AdsReadRequestParse(readBuffer)
+		_childTemp, typeSwitchError = AdsReadRequestParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_READ && response == bool(true): // AdsReadResponse
-		_childTemp, typeSwitchError = AdsReadResponseParse(readBuffer)
+		_childTemp, typeSwitchError = AdsReadResponseParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_WRITE && response == bool(false): // AdsWriteRequest
-		_childTemp, typeSwitchError = AdsWriteRequestParse(readBuffer)
+		_childTemp, typeSwitchError = AdsWriteRequestParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_WRITE && response == bool(true): // AdsWriteResponse
-		_childTemp, typeSwitchError = AdsWriteResponseParse(readBuffer)
+		_childTemp, typeSwitchError = AdsWriteResponseParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_READ_STATE && response == bool(false): // AdsReadStateRequest
-		_childTemp, typeSwitchError = AdsReadStateRequestParse(readBuffer)
+		_childTemp, typeSwitchError = AdsReadStateRequestParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_READ_STATE && response == bool(true): // AdsReadStateResponse
-		_childTemp, typeSwitchError = AdsReadStateResponseParse(readBuffer)
+		_childTemp, typeSwitchError = AdsReadStateResponseParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_WRITE_CONTROL && response == bool(false): // AdsWriteControlRequest
-		_childTemp, typeSwitchError = AdsWriteControlRequestParse(readBuffer)
+		_childTemp, typeSwitchError = AdsWriteControlRequestParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_WRITE_CONTROL && response == bool(true): // AdsWriteControlResponse
-		_childTemp, typeSwitchError = AdsWriteControlResponseParse(readBuffer)
+		_childTemp, typeSwitchError = AdsWriteControlResponseParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == bool(false): // AdsAddDeviceNotificationRequest
-		_childTemp, typeSwitchError = AdsAddDeviceNotificationRequestParse(readBuffer)
+		_childTemp, typeSwitchError = AdsAddDeviceNotificationRequestParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_ADD_DEVICE_NOTIFICATION && response == bool(true): // AdsAddDeviceNotificationResponse
-		_childTemp, typeSwitchError = AdsAddDeviceNotificationResponseParse(readBuffer)
+		_childTemp, typeSwitchError = AdsAddDeviceNotificationResponseParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == bool(false): // AdsDeleteDeviceNotificationRequest
-		_childTemp, typeSwitchError = AdsDeleteDeviceNotificationRequestParse(readBuffer)
+		_childTemp, typeSwitchError = AdsDeleteDeviceNotificationRequestParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_DELETE_DEVICE_NOTIFICATION && response == bool(true): // AdsDeleteDeviceNotificationResponse
-		_childTemp, typeSwitchError = AdsDeleteDeviceNotificationResponseParse(readBuffer)
+		_childTemp, typeSwitchError = AdsDeleteDeviceNotificationResponseParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == bool(false): // AdsDeviceNotificationRequest
-		_childTemp, typeSwitchError = AdsDeviceNotificationRequestParse(readBuffer)
+		_childTemp, typeSwitchError = AdsDeviceNotificationRequestParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_DEVICE_NOTIFICATION && response == bool(true): // AdsDeviceNotificationResponse
-		_childTemp, typeSwitchError = AdsDeviceNotificationResponseParse(readBuffer)
+		_childTemp, typeSwitchError = AdsDeviceNotificationResponseParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_READ_WRITE && response == bool(false): // AdsReadWriteRequest
-		_childTemp, typeSwitchError = AdsReadWriteRequestParse(readBuffer)
+		_childTemp, typeSwitchError = AdsReadWriteRequestParseWithBuffer(readBuffer)
 	case commandId == CommandId_ADS_READ_WRITE && response == bool(true): // AdsReadWriteResponse
-		_childTemp, typeSwitchError = AdsReadWriteResponseParse(readBuffer)
+		_childTemp, typeSwitchError = AdsReadWriteResponseParseWithBuffer(readBuffer)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [commandId=%v, response=%v]", commandId, response)
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AmsSerialAcknowledgeFrame.go b/plc4go/protocols/ads/readwrite/model/AmsSerialAcknowledgeFrame.go
index 3f32c43ee..cd754f817 100644
--- a/plc4go/protocols/ads/readwrite/model/AmsSerialAcknowledgeFrame.go
+++ b/plc4go/protocols/ads/readwrite/model/AmsSerialAcknowledgeFrame.go
@@ -148,7 +148,11 @@ func (m *_AmsSerialAcknowledgeFrame) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AmsSerialAcknowledgeFrameParse(readBuffer utils.ReadBuffer) (AmsSerialAcknowledgeFrame, error) {
+func AmsSerialAcknowledgeFrameParse(theBytes []byte) (AmsSerialAcknowledgeFrame, error) {
+	return AmsSerialAcknowledgeFrameParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AmsSerialAcknowledgeFrameParseWithBuffer(readBuffer utils.ReadBuffer) (AmsSerialAcknowledgeFrame, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AmsSerialAcknowledgeFrame"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AmsSerialFrame.go b/plc4go/protocols/ads/readwrite/model/AmsSerialFrame.go
index 42fc9d65f..51810bcf1 100644
--- a/plc4go/protocols/ads/readwrite/model/AmsSerialFrame.go
+++ b/plc4go/protocols/ads/readwrite/model/AmsSerialFrame.go
@@ -158,7 +158,11 @@ func (m *_AmsSerialFrame) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AmsSerialFrameParse(readBuffer utils.ReadBuffer) (AmsSerialFrame, error) {
+func AmsSerialFrameParse(theBytes []byte) (AmsSerialFrame, error) {
+	return AmsSerialFrameParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AmsSerialFrameParseWithBuffer(readBuffer utils.ReadBuffer) (AmsSerialFrame, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AmsSerialFrame"); pullErr != nil {
@@ -206,7 +210,7 @@ func AmsSerialFrameParse(readBuffer utils.ReadBuffer) (AmsSerialFrame, error) {
 	if pullErr := readBuffer.PullContext("userdata"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for userdata")
 	}
-	_userdata, _userdataErr := AmsPacketParse(readBuffer)
+	_userdata, _userdataErr := AmsPacketParseWithBuffer(readBuffer)
 	if _userdataErr != nil {
 		return nil, errors.Wrap(_userdataErr, "Error parsing 'userdata' field of AmsSerialFrame")
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/AmsSerialResetFrame.go b/plc4go/protocols/ads/readwrite/model/AmsSerialResetFrame.go
index 9e189b7d9..a6caca793 100644
--- a/plc4go/protocols/ads/readwrite/model/AmsSerialResetFrame.go
+++ b/plc4go/protocols/ads/readwrite/model/AmsSerialResetFrame.go
@@ -148,7 +148,11 @@ func (m *_AmsSerialResetFrame) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AmsSerialResetFrameParse(readBuffer utils.ReadBuffer) (AmsSerialResetFrame, error) {
+func AmsSerialResetFrameParse(theBytes []byte) (AmsSerialResetFrame, error) {
+	return AmsSerialResetFrameParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AmsSerialResetFrameParseWithBuffer(readBuffer utils.ReadBuffer) (AmsSerialResetFrame, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AmsSerialResetFrame"); pullErr != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AmsTCPPacket.go b/plc4go/protocols/ads/readwrite/model/AmsTCPPacket.go
index 33f509240..d154893f7 100644
--- a/plc4go/protocols/ads/readwrite/model/AmsTCPPacket.go
+++ b/plc4go/protocols/ads/readwrite/model/AmsTCPPacket.go
@@ -106,7 +106,11 @@ func (m *_AmsTCPPacket) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func AmsTCPPacketParse(readBuffer utils.ReadBuffer) (AmsTCPPacket, error) {
+func AmsTCPPacketParse(theBytes []byte) (AmsTCPPacket, error) {
+	return AmsTCPPacketParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func AmsTCPPacketParseWithBuffer(readBuffer utils.ReadBuffer) (AmsTCPPacket, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("AmsTCPPacket"); pullErr != nil {
@@ -143,7 +147,7 @@ func AmsTCPPacketParse(readBuffer utils.ReadBuffer) (AmsTCPPacket, error) {
 	if pullErr := readBuffer.PullContext("userdata"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for userdata")
 	}
-	_userdata, _userdataErr := AmsPacketParse(readBuffer)
+	_userdata, _userdataErr := AmsPacketParseWithBuffer(readBuffer)
 	if _userdataErr != nil {
 		return nil, errors.Wrap(_userdataErr, "Error parsing 'userdata' field of AmsTCPPacket")
 	}
diff --git a/plc4go/protocols/ads/readwrite/model/CommandId.go b/plc4go/protocols/ads/readwrite/model/CommandId.go
index 80b41d25d..964511700 100644
--- a/plc4go/protocols/ads/readwrite/model/CommandId.go
+++ b/plc4go/protocols/ads/readwrite/model/CommandId.go
@@ -145,7 +145,11 @@ func (m CommandId) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func CommandIdParse(readBuffer utils.ReadBuffer) (CommandId, error) {
+func CommandIdParse(theBytes []byte) (CommandId, error) {
+	return CommandIdParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func CommandIdParseWithBuffer(readBuffer utils.ReadBuffer) (CommandId, error) {
 	val, err := readBuffer.ReadUint16("CommandId", 16)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading CommandId")
diff --git a/plc4go/protocols/ads/readwrite/model/DataItem.go b/plc4go/protocols/ads/readwrite/model/DataItem.go
index e5cec4184..3fd61a771 100644
--- a/plc4go/protocols/ads/readwrite/model/DataItem.go
+++ b/plc4go/protocols/ads/readwrite/model/DataItem.go
@@ -30,7 +30,11 @@ import (
 
 // Code generated by code-generation. DO NOT EDIT.
 
-func DataItemParse(readBuffer utils.ReadBuffer, plcValueType PlcValueType, stringLength int32) (api.PlcValue, error) {
+func DataItemParse(theBytes []byte, plcValueType PlcValueType, stringLength int32) (api.PlcValue, error) {
+	return DataItemParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), plcValueType, stringLength) // TODO: get endianness from mspec
+}
+
+func DataItemParseWithBuffer(readBuffer utils.ReadBuffer, plcValueType PlcValueType, stringLength int32) (api.PlcValue, error) {
 	readBuffer.PullContext("DataItem")
 	switch {
 	case plcValueType == PlcValueType_BOOL: // BOOL
diff --git a/plc4go/protocols/ads/readwrite/model/DefaultAmsPorts.go b/plc4go/protocols/ads/readwrite/model/DefaultAmsPorts.go
index 825395187..6faf2c6f2 100644
--- a/plc4go/protocols/ads/readwrite/model/DefaultAmsPorts.go
+++ b/plc4go/protocols/ads/readwrite/model/DefaultAmsPorts.go
@@ -415,7 +415,11 @@ func (m DefaultAmsPorts) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func DefaultAmsPortsParse(readBuffer utils.ReadBuffer) (DefaultAmsPorts, error) {
+func DefaultAmsPortsParse(theBytes []byte) (DefaultAmsPorts, error) {
+	return DefaultAmsPortsParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func DefaultAmsPortsParseWithBuffer(readBuffer utils.ReadBuffer) (DefaultAmsPorts, error) {
 	val, err := readBuffer.ReadUint16("DefaultAmsPorts", 16)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading DefaultAmsPorts")
diff --git a/plc4go/protocols/ads/readwrite/model/PlcValueType.go b/plc4go/protocols/ads/readwrite/model/PlcValueType.go
index 56ee422fe..abca3a9b0 100644
--- a/plc4go/protocols/ads/readwrite/model/PlcValueType.go
+++ b/plc4go/protocols/ads/readwrite/model/PlcValueType.go
@@ -271,7 +271,11 @@ func (m PlcValueType) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func PlcValueTypeParse(readBuffer utils.ReadBuffer) (PlcValueType, error) {
+func PlcValueTypeParse(theBytes []byte) (PlcValueType, error) {
+	return PlcValueTypeParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func PlcValueTypeParseWithBuffer(readBuffer utils.ReadBuffer) (PlcValueType, error) {
 	val, err := readBuffer.ReadUint8("PlcValueType", 8)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading PlcValueType")
diff --git a/plc4go/protocols/ads/readwrite/model/ReservedIndexGroups.go b/plc4go/protocols/ads/readwrite/model/ReservedIndexGroups.go
index 45860abe6..e6959b378 100644
--- a/plc4go/protocols/ads/readwrite/model/ReservedIndexGroups.go
+++ b/plc4go/protocols/ads/readwrite/model/ReservedIndexGroups.go
@@ -301,7 +301,11 @@ func (m ReservedIndexGroups) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func ReservedIndexGroupsParse(readBuffer utils.ReadBuffer) (ReservedIndexGroups, error) {
+func ReservedIndexGroupsParse(theBytes []byte) (ReservedIndexGroups, error) {
+	return ReservedIndexGroupsParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func ReservedIndexGroupsParseWithBuffer(readBuffer utils.ReadBuffer) (ReservedIndexGroups, error) {
 	val, err := readBuffer.ReadUint32("ReservedIndexGroups", 32)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading ReservedIndexGroups")
diff --git a/plc4go/protocols/ads/readwrite/model/ReturnCode.go b/plc4go/protocols/ads/readwrite/model/ReturnCode.go
index 6b769dc94..9f0019c47 100644
--- a/plc4go/protocols/ads/readwrite/model/ReturnCode.go
+++ b/plc4go/protocols/ads/readwrite/model/ReturnCode.go
@@ -817,7 +817,11 @@ func (m ReturnCode) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func ReturnCodeParse(readBuffer utils.ReadBuffer) (ReturnCode, error) {
+func ReturnCodeParse(theBytes []byte) (ReturnCode, error) {
+	return ReturnCodeParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func ReturnCodeParseWithBuffer(readBuffer utils.ReadBuffer) (ReturnCode, error) {
 	val, err := readBuffer.ReadUint32("ReturnCode", 32)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading ReturnCode")
diff --git a/plc4go/protocols/bacnetip/readwrite/ParserHelper.go b/plc4go/protocols/bacnetip/readwrite/ParserHelper.go
index 8ec88445f..b9260da28 100644
--- a/plc4go/protocols/bacnetip/readwrite/ParserHelper.go
+++ b/plc4go/protocols/bacnetip/readwrite/ParserHelper.go
@@ -38,22 +38,22 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAuthenticationStatusTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAuthenticationStatusTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLiftGroupModeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLiftGroupModeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLiftGroupModeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetValueSource":
-		return model.BACnetValueSourceParse(io)
+		return model.BACnetValueSourceParseWithBuffer(io)
 	case "BACnetOpeningTag":
 		tagNumberArgument, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetOpeningTagParse(io, tagNumberArgument)
+		return model.BACnetOpeningTagParseWithBuffer(io, tagNumberArgument)
 	case "BACnetPriorityArray":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[0])
 		tagNumber, err := utils.StrToUint8(arguments[1])
@@ -61,1142 +61,1142 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		var arrayIndexArgument model.BACnetTagPayloadUnsignedInteger
-		return model.BACnetPriorityArrayParse(io, objectTypeArgument, tagNumber, arrayIndexArgument)
+		return model.BACnetPriorityArrayParseWithBuffer(io, objectTypeArgument, tagNumber, arrayIndexArgument)
 	case "BACnetNameValue":
-		return model.BACnetNameValueParse(io)
+		return model.BACnetNameValueParseWithBuffer(io)
 	case "BACnetPropertyReferenceEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetPropertyReferenceEnclosedParse(io, tagNumber)
+		return model.BACnetPropertyReferenceEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetSpecialEvent":
-		return model.BACnetSpecialEventParse(io)
+		return model.BACnetSpecialEventParseWithBuffer(io)
 	case "BACnetRouterEntry":
-		return model.BACnetRouterEntryParse(io)
+		return model.BACnetRouterEntryParseWithBuffer(io)
 	case "BACnetTagPayloadReal":
-		return model.BACnetTagPayloadRealParse(io)
+		return model.BACnetTagPayloadRealParseWithBuffer(io)
 	case "BACnetFaultParameterFaultExtendedParameters":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetFaultParameterFaultExtendedParametersParse(io, tagNumber)
+		return model.BACnetFaultParameterFaultExtendedParametersParseWithBuffer(io, tagNumber)
 	case "BACnetNotificationParametersExtendedParameters":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetNotificationParametersExtendedParametersParse(io, tagNumber)
+		return model.BACnetNotificationParametersExtendedParametersParseWithBuffer(io, tagNumber)
 	case "BACnetLoggingTypeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLoggingTypeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLoggingTypeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetConfirmedServiceRequestGetEnrollmentSummaryPriorityFilter":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryPriorityFilterParse(io, tagNumber)
+		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryPriorityFilterParseWithBuffer(io, tagNumber)
 	case "BACnetTimeValue":
-		return model.BACnetTimeValueParse(io)
+		return model.BACnetTimeValueParseWithBuffer(io)
 	case "BACnetTagPayloadOctetString":
 		actualLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetTagPayloadOctetStringParse(io, actualLength)
+		return model.BACnetTagPayloadOctetStringParseWithBuffer(io, actualLength)
 	case "BACnetEscalatorOperationDirectionTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetEscalatorOperationDirectionTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetEscalatorOperationDirectionTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "NPDUControl":
-		return model.NPDUControlParse(io)
+		return model.NPDUControlParseWithBuffer(io)
 	case "BACnetFaultParameterFaultStateListOfFaultValues":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetFaultParameterFaultStateListOfFaultValuesParse(io, tagNumber)
+		return model.BACnetFaultParameterFaultStateListOfFaultValuesParseWithBuffer(io, tagNumber)
 	case "BACnetTimeStampEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetTimeStampEnclosedParse(io, tagNumber)
+		return model.BACnetTimeStampEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetTimerStateTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetTimerStateTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetTimerStateTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetDateRangeEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetDateRangeEnclosedParse(io, tagNumber)
+		return model.BACnetDateRangeEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetEventParameterChangeOfTimerAlarmValue":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventParameterChangeOfTimerAlarmValueParse(io, tagNumber)
+		return model.BACnetEventParameterChangeOfTimerAlarmValueParseWithBuffer(io, tagNumber)
 	case "BACnetUnconfirmedServiceRequest":
 		serviceRequestLength, err := utils.StrToUint16(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetUnconfirmedServiceRequestParse(io, serviceRequestLength)
+		return model.BACnetUnconfirmedServiceRequestParseWithBuffer(io, serviceRequestLength)
 	case "BACnetAddressEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetAddressEnclosedParse(io, tagNumber)
+		return model.BACnetAddressEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetObjectTypeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetObjectTypeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetObjectTypeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetDaysOfWeekTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetDaysOfWeekTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetDaysOfWeekTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetReadAccessResultListOfResults":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[1])
-		return model.BACnetReadAccessResultListOfResultsParse(io, tagNumber, objectTypeArgument)
+		return model.BACnetReadAccessResultListOfResultsParseWithBuffer(io, tagNumber, objectTypeArgument)
 	case "BACnetRouterEntryStatusTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetRouterEntryStatusTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetRouterEntryStatusTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetAccessRuleTimeRangeSpecifierTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAccessRuleTimeRangeSpecifierTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAccessRuleTimeRangeSpecifierTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetObjectTypesSupportedTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetObjectTypesSupportedTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetObjectTypesSupportedTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BVLCBroadcastDistributionTableEntry":
-		return model.BVLCBroadcastDistributionTableEntryParse(io)
+		return model.BVLCBroadcastDistributionTableEntryParseWithBuffer(io)
 	case "BACnetBackupStateTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetBackupStateTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetBackupStateTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetEventParameterChangeOfLifeSavetyListOfLifeSavetyAlarmValues":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventParameterChangeOfLifeSavetyListOfLifeSavetyAlarmValuesParse(io, tagNumber)
+		return model.BACnetEventParameterChangeOfLifeSavetyListOfLifeSavetyAlarmValuesParseWithBuffer(io, tagNumber)
 	case "BACnetDestination":
-		return model.BACnetDestinationParse(io)
+		return model.BACnetDestinationParseWithBuffer(io)
 	case "BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecification":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationParse(io, tagNumber)
+		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationParseWithBuffer(io, tagNumber)
 	case "BACnetDeviceStatusTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetDeviceStatusTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetDeviceStatusTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetPrescale":
-		return model.BACnetPrescaleParse(io)
+		return model.BACnetPrescaleParseWithBuffer(io)
 	case "ErrorEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.ErrorEnclosedParse(io, tagNumber)
+		return model.ErrorEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetAuthenticationPolicyListEntry":
-		return model.BACnetAuthenticationPolicyListEntryParse(io)
+		return model.BACnetAuthenticationPolicyListEntryParseWithBuffer(io)
 	case "APDU":
 		apduLength, err := utils.StrToUint16(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.APDUParse(io, apduLength)
+		return model.APDUParseWithBuffer(io, apduLength)
 	case "BACnetEventNotificationSubscription":
-		return model.BACnetEventNotificationSubscriptionParse(io)
+		return model.BACnetEventNotificationSubscriptionParseWithBuffer(io)
 	case "BACnetSegmentationTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetSegmentationTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetSegmentationTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetSecurityKeySet":
-		return model.BACnetSecurityKeySetParse(io)
+		return model.BACnetSecurityKeySetParseWithBuffer(io)
 	case "BACnetNetworkSecurityPolicy":
-		return model.BACnetNetworkSecurityPolicyParse(io)
+		return model.BACnetNetworkSecurityPolicyParseWithBuffer(io)
 	case "BACnetHostNPortEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetHostNPortEnclosedParse(io, tagNumber)
+		return model.BACnetHostNPortEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetPropertyIdentifierTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetPropertyIdentifierTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetPropertyIdentifierTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetRecipientEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetRecipientEnclosedParse(io, tagNumber)
+		return model.BACnetRecipientEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetConfirmedServiceRequest":
 		serviceRequestLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetConfirmedServiceRequestParse(io, serviceRequestLength)
+		return model.BACnetConfirmedServiceRequestParseWithBuffer(io, serviceRequestLength)
 	case "BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferences":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferencesParse(io, tagNumber)
+		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferencesParseWithBuffer(io, tagNumber)
 	case "BACnetTagPayloadUnsignedInteger":
 		actualLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetTagPayloadUnsignedIntegerParse(io, actualLength)
+		return model.BACnetTagPayloadUnsignedIntegerParseWithBuffer(io, actualLength)
 	case "BACnetAccessUserTypeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAccessUserTypeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAccessUserTypeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetRestartReasonTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetRestartReasonTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetRestartReasonTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetTagPayloadBitString":
 		actualLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetTagPayloadBitStringParse(io, actualLength)
+		return model.BACnetTagPayloadBitStringParseWithBuffer(io, actualLength)
 	case "BACnetClientCOV":
-		return model.BACnetClientCOVParse(io)
+		return model.BACnetClientCOVParseWithBuffer(io)
 	case "BACnetSetpointReference":
-		return model.BACnetSetpointReferenceParse(io)
+		return model.BACnetSetpointReferenceParseWithBuffer(io)
 	case "BACnetObjectPropertyReferenceEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetObjectPropertyReferenceEnclosedParse(io, tagNumber)
+		return model.BACnetObjectPropertyReferenceEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetEscalatorFaultTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetEscalatorFaultTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetEscalatorFaultTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetEventStateTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetEventStateTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetEventStateTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetTagHeader":
-		return model.BACnetTagHeaderParse(io)
+		return model.BACnetTagHeaderParseWithBuffer(io)
 	case "BACnetTagPayloadBoolean":
 		actualLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetTagPayloadBooleanParse(io, actualLength)
+		return model.BACnetTagPayloadBooleanParseWithBuffer(io, actualLength)
 	case "BACnetFaultTypeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetFaultTypeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetFaultTypeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "VTCloseErrorListOfVTSessionIdentifiers":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.VTCloseErrorListOfVTSessionIdentifiersParse(io, tagNumber)
+		return model.VTCloseErrorListOfVTSessionIdentifiersParseWithBuffer(io, tagNumber)
 	case "BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecifications":
-		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsParse(io)
+		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsParseWithBuffer(io)
 	case "BACnetIPModeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetIPModeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetIPModeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetAccumulatorRecord":
-		return model.BACnetAccumulatorRecordParse(io)
+		return model.BACnetAccumulatorRecordParseWithBuffer(io)
 	case "BACnetDailySchedule":
-		return model.BACnetDailyScheduleParse(io)
+		return model.BACnetDailyScheduleParseWithBuffer(io)
 	case "BACnetLogDataLogDataEntry":
-		return model.BACnetLogDataLogDataEntryParse(io)
+		return model.BACnetLogDataLogDataEntryParseWithBuffer(io)
 	case "BACnetOptionalBinaryPV":
-		return model.BACnetOptionalBinaryPVParse(io)
+		return model.BACnetOptionalBinaryPVParseWithBuffer(io)
 	case "BACnetBDTEntry":
-		return model.BACnetBDTEntryParse(io)
+		return model.BACnetBDTEntryParseWithBuffer(io)
 	case "BACnetEngineeringUnitsTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetEngineeringUnitsTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetEngineeringUnitsTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "ListOfCovNotifications":
-		return model.ListOfCovNotificationsParse(io)
+		return model.ListOfCovNotificationsParseWithBuffer(io)
 	case "BACnetAssignedAccessRights":
-		return model.BACnetAssignedAccessRightsParse(io)
+		return model.BACnetAssignedAccessRightsParseWithBuffer(io)
 	case "BACnetConfirmedServiceRequestCreateObjectObjectSpecifier":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetConfirmedServiceRequestCreateObjectObjectSpecifierParse(io, tagNumber)
+		return model.BACnetConfirmedServiceRequestCreateObjectObjectSpecifierParseWithBuffer(io, tagNumber)
 	case "BACnetAuthenticationPolicy":
-		return model.BACnetAuthenticationPolicyParse(io)
+		return model.BACnetAuthenticationPolicyParseWithBuffer(io)
 	case "BACnetPropertyAccessResult":
-		return model.BACnetPropertyAccessResultParse(io)
+		return model.BACnetPropertyAccessResultParseWithBuffer(io)
 	case "BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsList":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsListParse(io, tagNumber)
+		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsListParseWithBuffer(io, tagNumber)
 	case "NPDU":
 		npduLength, err := utils.StrToUint16(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.NPDUParse(io, npduLength)
+		return model.NPDUParseWithBuffer(io, npduLength)
 	case "BACnetProgramStateTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetProgramStateTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetProgramStateTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetDoorSecuredStatusTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetDoorSecuredStatusTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetDoorSecuredStatusTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "ErrorClassTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.ErrorClassTaggedParse(io, tagNumber, tagClass)
+		return model.ErrorClassTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetSpecialEventListOfTimeValues":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetSpecialEventListOfTimeValuesParse(io, tagNumber)
+		return model.BACnetSpecialEventListOfTimeValuesParseWithBuffer(io, tagNumber)
 	case "BACnetFaultParameterFaultOutOfRangeMaxNormalValue":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetFaultParameterFaultOutOfRangeMaxNormalValueParse(io, tagNumber)
+		return model.BACnetFaultParameterFaultOutOfRangeMaxNormalValueParseWithBuffer(io, tagNumber)
 	case "BACnetAccessRuleLocationSpecifierTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAccessRuleLocationSpecifierTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAccessRuleLocationSpecifierTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferencesEntry":
-		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferencesEntryParse(io)
+		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferencesEntryParseWithBuffer(io)
 	case "BACnetAuthenticationFactorFormat":
-		return model.BACnetAuthenticationFactorFormatParse(io)
+		return model.BACnetAuthenticationFactorFormatParseWithBuffer(io)
 	case "BACnetMaintenanceTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetMaintenanceTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetMaintenanceTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetNotificationParametersChangeOfDiscreteValueNewValue":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetNotificationParametersChangeOfDiscreteValueNewValueParse(io, tagNumber)
+		return model.BACnetNotificationParametersChangeOfDiscreteValueNewValueParseWithBuffer(io, tagNumber)
 	case "BACnetReadAccessPropertyReadResult":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[0])
 		propertyIdentifierArgument, _ := model.BACnetPropertyIdentifierByName(arguments[1])
 		var arrayIndexArgument model.BACnetTagPayloadUnsignedInteger
-		return model.BACnetReadAccessPropertyReadResultParse(io, objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
+		return model.BACnetReadAccessPropertyReadResultParseWithBuffer(io, objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
 	case "BACnetActionCommand":
-		return model.BACnetActionCommandParse(io)
+		return model.BACnetActionCommandParseWithBuffer(io)
 	case "BACnetFaultParameterFaultExtendedParametersEntry":
-		return model.BACnetFaultParameterFaultExtendedParametersEntryParse(io)
+		return model.BACnetFaultParameterFaultExtendedParametersEntryParseWithBuffer(io)
 	case "BACnetTagPayloadDate":
-		return model.BACnetTagPayloadDateParse(io)
+		return model.BACnetTagPayloadDateParseWithBuffer(io)
 	case "BACnetConfirmedServiceRequestGetEnrollmentSummaryAcknowledgementFilterTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryAcknowledgementFilterTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryAcknowledgementFilterTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetEventParameterExtendedParameters":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventParameterExtendedParametersParse(io, tagNumber)
+		return model.BACnetEventParameterExtendedParametersParseWithBuffer(io, tagNumber)
 	case "BACnetEventParameterAccessEventListOfAccessEvents":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventParameterAccessEventListOfAccessEventsParse(io, tagNumber)
+		return model.BACnetEventParameterAccessEventListOfAccessEventsParseWithBuffer(io, tagNumber)
 	case "BACnetReadAccessProperty":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[0])
-		return model.BACnetReadAccessPropertyParse(io, objectTypeArgument)
+		return model.BACnetReadAccessPropertyParseWithBuffer(io, objectTypeArgument)
 	case "BACnetLifeSafetyOperationTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLifeSafetyOperationTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLifeSafetyOperationTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetWeekNDayTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetWeekNDayTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetWeekNDayTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetEventTransitionBitsTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetEventTransitionBitsTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetEventTransitionBitsTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLogData":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetLogDataParse(io, tagNumber)
+		return model.BACnetLogDataParseWithBuffer(io, tagNumber)
 	case "BACnetFaultParameterFaultCharacterStringListOfFaultValues":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetFaultParameterFaultCharacterStringListOfFaultValuesParse(io, tagNumber)
+		return model.BACnetFaultParameterFaultCharacterStringListOfFaultValuesParseWithBuffer(io, tagNumber)
 	case "BACnetLockStatusTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLockStatusTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLockStatusTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetDeviceObjectPropertyReferenceEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetDeviceObjectPropertyReferenceEnclosedParse(io, tagNumber)
+		return model.BACnetDeviceObjectPropertyReferenceEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetPropertyStates":
-		return model.BACnetPropertyStatesParse(io)
+		return model.BACnetPropertyStatesParseWithBuffer(io)
 	case "BACnetReadAccessResult":
-		return model.BACnetReadAccessResultParse(io)
+		return model.BACnetReadAccessResultParseWithBuffer(io)
 	case "BACnetResultFlagsTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetResultFlagsTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetResultFlagsTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetAccessCredentialDisableReasonTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAccessCredentialDisableReasonTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAccessCredentialDisableReasonTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLightingInProgressTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLightingInProgressTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLightingInProgressTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLifeSafetyStateTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLifeSafetyStateTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLifeSafetyStateTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetVTSession":
-		return model.BACnetVTSessionParse(io)
+		return model.BACnetVTSessionParseWithBuffer(io)
 	case "BACnetEventTimestampsEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventTimestampsEnclosedParse(io, tagNumber)
+		return model.BACnetEventTimestampsEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetSecurityLevelTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetSecurityLevelTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetSecurityLevelTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLogRecordLogDatum":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetLogRecordLogDatumParse(io, tagNumber)
+		return model.BACnetLogRecordLogDatumParseWithBuffer(io, tagNumber)
 	case "BACnetDateTimeEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetDateTimeEnclosedParse(io, tagNumber)
+		return model.BACnetDateTimeEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetTimerTransitionTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetTimerTransitionTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetTimerTransitionTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLogMultipleRecord":
-		return model.BACnetLogMultipleRecordParse(io)
+		return model.BACnetLogMultipleRecordParseWithBuffer(io)
 	case "BACnetProgramRequestTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetProgramRequestTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetProgramRequestTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetConfirmedServiceRequestGetEnrollmentSummaryEventStateFilterTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryEventStateFilterTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryEventStateFilterTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetDateRange":
-		return model.BACnetDateRangeParse(io)
+		return model.BACnetDateRangeParseWithBuffer(io)
 	case "BACnetEventParameter":
-		return model.BACnetEventParameterParse(io)
+		return model.BACnetEventParameterParseWithBuffer(io)
 	case "BACnetLiftFaultTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLiftFaultTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLiftFaultTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "MaxApduLengthAcceptedTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.MaxApduLengthAcceptedTaggedParse(io, tagNumber, tagClass)
+		return model.MaxApduLengthAcceptedTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetPropertyStatesEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetPropertyStatesEnclosedParse(io, tagNumber)
+		return model.BACnetPropertyStatesEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetGroupChannelValueList":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetGroupChannelValueListParse(io, tagNumber)
+		return model.BACnetGroupChannelValueListParseWithBuffer(io, tagNumber)
 	case "BACnetFileAccessMethodTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetFileAccessMethodTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetFileAccessMethodTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetTagPayloadCharacterString":
 		actualLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetTagPayloadCharacterStringParse(io, actualLength)
+		return model.BACnetTagPayloadCharacterStringParseWithBuffer(io, actualLength)
 	case "BACnetEventLogRecordLogDatum":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventLogRecordLogDatumParse(io, tagNumber)
+		return model.BACnetEventLogRecordLogDatumParseWithBuffer(io, tagNumber)
 	case "BACnetStatusFlagsTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetStatusFlagsTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetStatusFlagsTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetNodeTypeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetNodeTypeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetNodeTypeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetOptionalCharacterString":
-		return model.BACnetOptionalCharacterStringParse(io)
+		return model.BACnetOptionalCharacterStringParseWithBuffer(io)
 	case "BACnetAddress":
-		return model.BACnetAddressParse(io)
+		return model.BACnetAddressParseWithBuffer(io)
 	case "BACnetEventParameterChangeOfLifeSavetyListOfAlarmValues":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventParameterChangeOfLifeSavetyListOfAlarmValuesParse(io, tagNumber)
+		return model.BACnetEventParameterChangeOfLifeSavetyListOfAlarmValuesParseWithBuffer(io, tagNumber)
 	case "BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsReference":
-		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsReferenceParse(io)
+		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsReferenceParseWithBuffer(io)
 	case "BACnetApplicationTag":
-		return model.BACnetApplicationTagParse(io)
+		return model.BACnetApplicationTagParseWithBuffer(io)
 	case "BACnetEventParameterChangeOfBitstringListOfBitstringValues":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventParameterChangeOfBitstringListOfBitstringValuesParse(io, tagNumber)
+		return model.BACnetEventParameterChangeOfBitstringListOfBitstringValuesParseWithBuffer(io, tagNumber)
 	case "BACnetShedLevel":
-		return model.BACnetShedLevelParse(io)
+		return model.BACnetShedLevelParseWithBuffer(io)
 	case "BACnetActionTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetActionTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetActionTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetCredentialAuthenticationFactor":
-		return model.BACnetCredentialAuthenticationFactorParse(io)
+		return model.BACnetCredentialAuthenticationFactorParseWithBuffer(io)
 	case "BACnetAssignedLandingCallsLandingCallsListEntry":
-		return model.BACnetAssignedLandingCallsLandingCallsListEntryParse(io)
+		return model.BACnetAssignedLandingCallsLandingCallsListEntryParseWithBuffer(io)
 	case "BACnetPropertyValue":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[0])
-		return model.BACnetPropertyValueParse(io, objectTypeArgument)
+		return model.BACnetPropertyValueParseWithBuffer(io, objectTypeArgument)
 	case "BACnetCOVSubscription":
-		return model.BACnetCOVSubscriptionParse(io)
+		return model.BACnetCOVSubscriptionParseWithBuffer(io)
 	case "BACnetFaultParameterFaultLifeSafetyListOfFaultValues":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetFaultParameterFaultLifeSafetyListOfFaultValuesParse(io, tagNumber)
+		return model.BACnetFaultParameterFaultLifeSafetyListOfFaultValuesParseWithBuffer(io, tagNumber)
 	case "BACnetRelationshipTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetRelationshipTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetRelationshipTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "NLMInitalizeRoutingTablePortMapping":
-		return model.NLMInitalizeRoutingTablePortMappingParse(io)
+		return model.NLMInitalizeRoutingTablePortMappingParseWithBuffer(io)
 	case "BACnetRecipientProcessEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetRecipientProcessEnclosedParse(io, tagNumber)
+		return model.BACnetRecipientProcessEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetAccessRule":
-		return model.BACnetAccessRuleParse(io)
+		return model.BACnetAccessRuleParseWithBuffer(io)
 	case "BACnetHostNPort":
-		return model.BACnetHostNPortParse(io)
+		return model.BACnetHostNPortParseWithBuffer(io)
 	case "BACnetShedStateTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetShedStateTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetShedStateTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetAccessEventTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAccessEventTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAccessEventTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetServiceAck":
 		serviceAckLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetServiceAckParse(io, serviceAckLength)
+		return model.BACnetServiceAckParseWithBuffer(io, serviceAckLength)
 	case "BACnetAccessCredentialDisableTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAccessCredentialDisableTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAccessCredentialDisableTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLiftCarCallList":
-		return model.BACnetLiftCarCallListParse(io)
+		return model.BACnetLiftCarCallListParseWithBuffer(io)
 	case "BACnetLightingTransitionTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLightingTransitionTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLightingTransitionTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetAssignedLandingCalls":
-		return model.BACnetAssignedLandingCallsParse(io)
+		return model.BACnetAssignedLandingCallsParseWithBuffer(io)
 	case "BACnetNotifyTypeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetNotifyTypeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetNotifyTypeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetAuthorizationExemptionTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAuthorizationExemptionTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAuthorizationExemptionTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLandingDoorStatusLandingDoorsList":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetLandingDoorStatusLandingDoorsListParse(io, tagNumber)
+		return model.BACnetLandingDoorStatusLandingDoorsListParseWithBuffer(io, tagNumber)
 	case "BACnetConfirmedServiceRequestReinitializeDeviceReinitializedStateOfDeviceTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetConfirmedServiceRequestReinitializeDeviceReinitializedStateOfDeviceTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetConfirmedServiceRequestReinitializeDeviceReinitializedStateOfDeviceTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetAuthenticationFactorTypeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAuthenticationFactorTypeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAuthenticationFactorTypeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetAccessAuthenticationFactorDisableTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAccessAuthenticationFactorDisableTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAccessAuthenticationFactorDisableTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetAuthorizationModeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAuthorizationModeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAuthorizationModeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetConfirmedServiceRequestConfirmedTextMessageMessagePriorityTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetConfirmedServiceRequestConfirmedTextMessageMessagePriorityTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetConfirmedServiceRequestConfirmedTextMessageMessagePriorityTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetDoorStatusTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetDoorStatusTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetDoorStatusTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetVendorIdTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetVendorIdTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetVendorIdTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetEventTimestamps":
-		return model.BACnetEventTimestampsParse(io)
+		return model.BACnetEventTimestampsParseWithBuffer(io)
 	case "BACnetNameValueCollection":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetNameValueCollectionParse(io, tagNumber)
+		return model.BACnetNameValueCollectionParseWithBuffer(io, tagNumber)
 	case "BACnetTagPayloadEnumerated":
 		actualLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetTagPayloadEnumeratedParse(io, actualLength)
+		return model.BACnetTagPayloadEnumeratedParseWithBuffer(io, actualLength)
 	case "BACnetLimitEnableTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLimitEnableTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLimitEnableTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetDoorAlarmStateTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetDoorAlarmStateTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetDoorAlarmStateTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetServicesSupportedTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetServicesSupportedTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetServicesSupportedTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetWriteStatusTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetWriteStatusTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetWriteStatusTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetRecipientProcess":
-		return model.BACnetRecipientProcessParse(io)
+		return model.BACnetRecipientProcessParseWithBuffer(io)
 	case "BACnetReadAccessSpecification":
-		return model.BACnetReadAccessSpecificationParse(io)
+		return model.BACnetReadAccessSpecificationParseWithBuffer(io)
 	case "BACnetAuthenticationPolicyList":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetAuthenticationPolicyListParse(io, tagNumber)
+		return model.BACnetAuthenticationPolicyListParseWithBuffer(io, tagNumber)
 	case "BACnetLandingDoorStatus":
-		return model.BACnetLandingDoorStatusParse(io)
+		return model.BACnetLandingDoorStatusParseWithBuffer(io)
 	case "BACnetLiftCarCallListFloorList":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetLiftCarCallListFloorListParse(io, tagNumber)
+		return model.BACnetLiftCarCallListFloorListParseWithBuffer(io, tagNumber)
 	case "BACnetAccessThreatLevel":
-		return model.BACnetAccessThreatLevelParse(io)
+		return model.BACnetAccessThreatLevelParseWithBuffer(io)
 	case "BACnetCalendarEntryEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetCalendarEntryEnclosedParse(io, tagNumber)
+		return model.BACnetCalendarEntryEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetRecipient":
-		return model.BACnetRecipientParse(io)
+		return model.BACnetRecipientParseWithBuffer(io)
 	case "BACnetLiftCarDriveStatusTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLiftCarDriveStatusTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLiftCarDriveStatusTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetUnconfirmedServiceRequestWhoHasObject":
-		return model.BACnetUnconfirmedServiceRequestWhoHasObjectParse(io)
+		return model.BACnetUnconfirmedServiceRequestWhoHasObjectParseWithBuffer(io)
 	case "BACnetTagPayloadSignedInteger":
 		actualLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetTagPayloadSignedIntegerParse(io, actualLength)
+		return model.BACnetTagPayloadSignedIntegerParseWithBuffer(io, actualLength)
 	case "BACnetSecurityPolicyTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetSecurityPolicyTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetSecurityPolicyTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord":
-		return model.BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecordParse(io)
+		return model.BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecordParseWithBuffer(io)
 	case "BVLC":
-		return model.BVLCParse(io)
+		return model.BVLCParseWithBuffer(io)
 	case "ConfirmedEventNotificationRequest":
-		return model.ConfirmedEventNotificationRequestParse(io)
+		return model.ConfirmedEventNotificationRequestParseWithBuffer(io)
 	case "BACnetLandingDoorStatusLandingDoorsListEntry":
-		return model.BACnetLandingDoorStatusLandingDoorsListEntryParse(io)
+		return model.BACnetLandingDoorStatusLandingDoorsListEntryParseWithBuffer(io)
 	case "BACnetLiftCarDirectionTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLiftCarDirectionTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLiftCarDirectionTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetConfirmedServiceRequestConfirmedTextMessageMessageClassParse(io, tagNumber)
+		return model.BACnetConfirmedServiceRequestConfirmedTextMessageMessageClassParseWithBuffer(io, tagNumber)
 	case "BACnetAddressBinding":
-		return model.BACnetAddressBindingParse(io)
+		return model.BACnetAddressBindingParseWithBuffer(io)
 	case "BACnetLandingCallStatusCommand":
-		return model.BACnetLandingCallStatusCommandParse(io)
+		return model.BACnetLandingCallStatusCommandParseWithBuffer(io)
 	case "ListOfCovNotificationsValue":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[0])
-		return model.ListOfCovNotificationsValueParse(io, objectTypeArgument)
+		return model.ListOfCovNotificationsValueParseWithBuffer(io, objectTypeArgument)
 	case "BACnetLandingCallStatus":
-		return model.BACnetLandingCallStatusParse(io)
+		return model.BACnetLandingCallStatusParseWithBuffer(io)
 	case "BACnetEventParameterChangeOfStateListOfValues":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventParameterChangeOfStateListOfValuesParse(io, tagNumber)
+		return model.BACnetEventParameterChangeOfStateListOfValuesParseWithBuffer(io, tagNumber)
 	case "BACnetPortPermission":
-		return model.BACnetPortPermissionParse(io)
+		return model.BACnetPortPermissionParseWithBuffer(io)
 	case "BACnetConfirmedServiceRequestReadRangeRange":
-		return model.BACnetConfirmedServiceRequestReadRangeRangeParse(io)
+		return model.BACnetConfirmedServiceRequestReadRangeRangeParseWithBuffer(io)
 	case "BACnetError":
 		errorChoice, _ := model.BACnetConfirmedServiceChoiceByName(arguments[0])
-		return model.BACnetErrorParse(io, errorChoice)
+		return model.BACnetErrorParseWithBuffer(io, errorChoice)
 	case "BACnetDeviceObjectReferenceEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetDeviceObjectReferenceEnclosedParse(io, tagNumber)
+		return model.BACnetDeviceObjectReferenceEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetOptionalUnsigned":
-		return model.BACnetOptionalUnsignedParse(io)
+		return model.BACnetOptionalUnsignedParseWithBuffer(io)
 	case "BACnetHostAddress":
-		return model.BACnetHostAddressParse(io)
+		return model.BACnetHostAddressParseWithBuffer(io)
 	case "ListOfCovNotificationsList":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.ListOfCovNotificationsListParse(io, tagNumber)
+		return model.ListOfCovNotificationsListParseWithBuffer(io, tagNumber)
 	case "BACnetEventSummariesList":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventSummariesListParse(io, tagNumber)
+		return model.BACnetEventSummariesListParseWithBuffer(io, tagNumber)
 	case "BACnetVTClassTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetVTClassTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetVTClassTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetDeviceObjectPropertyReference":
-		return model.BACnetDeviceObjectPropertyReferenceParse(io)
+		return model.BACnetDeviceObjectPropertyReferenceParseWithBuffer(io)
 	case "BACnetConfirmedServiceRequestDeviceCommunicationControlEnableDisableTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetConfirmedServiceRequestDeviceCommunicationControlEnableDisableTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetConfirmedServiceRequestDeviceCommunicationControlEnableDisableTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetProcessIdSelection":
-		return model.BACnetProcessIdSelectionParse(io)
+		return model.BACnetProcessIdSelectionParseWithBuffer(io)
 	case "BACnetAssignedLandingCallsLandingCallsList":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetAssignedLandingCallsLandingCallsListParse(io, tagNumber)
+		return model.BACnetAssignedLandingCallsLandingCallsListParseWithBuffer(io, tagNumber)
 	case "BACnetTagPayloadDouble":
-		return model.BACnetTagPayloadDoubleParse(io)
+		return model.BACnetTagPayloadDoubleParseWithBuffer(io)
 	case "BACnetAccumulatorRecordAccumulatorStatusTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAccumulatorRecordAccumulatorStatusTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAccumulatorRecordAccumulatorStatusTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetTimerStateChangeValue":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[0])
-		return model.BACnetTimerStateChangeValueParse(io, objectTypeArgument)
+		return model.BACnetTimerStateChangeValueParseWithBuffer(io, objectTypeArgument)
 	case "BACnetSpecialEventPeriod":
-		return model.BACnetSpecialEventPeriodParse(io)
+		return model.BACnetSpecialEventPeriodParseWithBuffer(io)
 	case "BACnetKeyIdentifier":
-		return model.BACnetKeyIdentifierParse(io)
+		return model.BACnetKeyIdentifierParseWithBuffer(io)
 	case "BACnetNetworkNumberQualityTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetNetworkNumberQualityTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetNetworkNumberQualityTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLogStatusTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLogStatusTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLogStatusTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetAbortReasonTagged":
 		actualLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetAbortReasonTaggedParse(io, actualLength)
+		return model.BACnetAbortReasonTaggedParseWithBuffer(io, actualLength)
 	case "BACnetProgramErrorTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetProgramErrorTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetProgramErrorTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "Error":
-		return model.ErrorParse(io)
+		return model.ErrorParseWithBuffer(io)
 	case "BACnetPropertyReference":
-		return model.BACnetPropertyReferenceParse(io)
+		return model.BACnetPropertyReferenceParseWithBuffer(io)
 	case "BACnetContextTag":
 		tagNumberArgument, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		dataType, _ := model.BACnetDataTypeByName(arguments[1])
-		return model.BACnetContextTagParse(io, tagNumberArgument, dataType)
+		return model.BACnetContextTagParseWithBuffer(io, tagNumberArgument, dataType)
 	case "BACnetUnconfirmedServiceChoiceTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetUnconfirmedServiceChoiceTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetUnconfirmedServiceChoiceTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BVLCResultCodeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BVLCResultCodeTaggedParse(io, tagNumber, tagClass)
+		return model.BVLCResultCodeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetFaultParameter":
-		return model.BACnetFaultParameterParse(io)
+		return model.BACnetFaultParameterParseWithBuffer(io)
 	case "BACnetEventParameterChangeOfValueCivCriteria":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventParameterChangeOfValueCivCriteriaParse(io, tagNumber)
+		return model.BACnetEventParameterChangeOfValueCivCriteriaParseWithBuffer(io, tagNumber)
 	case "BACnetPriorityValue":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[0])
-		return model.BACnetPriorityValueParse(io, objectTypeArgument)
+		return model.BACnetPriorityValueParseWithBuffer(io, objectTypeArgument)
 	case "BACnetLogRecord":
-		return model.BACnetLogRecordParse(io)
+		return model.BACnetLogRecordParseWithBuffer(io)
 	case "BACnetCalendarEntry":
-		return model.BACnetCalendarEntryParse(io)
+		return model.BACnetCalendarEntryParseWithBuffer(io)
 	case "BACnetAccessPassbackModeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAccessPassbackModeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAccessPassbackModeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetDeviceObjectReference":
-		return model.BACnetDeviceObjectReferenceParse(io)
+		return model.BACnetDeviceObjectReferenceParseWithBuffer(io)
 	case "BVLCForeignDeviceTableEntry":
-		return model.BVLCForeignDeviceTableEntryParse(io)
+		return model.BVLCForeignDeviceTableEntryParseWithBuffer(io)
 	case "NLM":
 		apduLength, err := utils.StrToUint16(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.NLMParse(io, apduLength)
+		return model.NLMParseWithBuffer(io, apduLength)
 	case "BACnetWeekNDay":
-		return model.BACnetWeekNDayParse(io)
+		return model.BACnetWeekNDayParseWithBuffer(io)
 	case "NPDUNetworkPriorityTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.NPDUNetworkPriorityTaggedParse(io, tagNumber, tagClass)
+		return model.NPDUNetworkPriorityTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetReliabilityTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetReliabilityTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetReliabilityTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetDoorValueTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetDoorValueTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetDoorValueTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetScale":
-		return model.BACnetScaleParse(io)
+		return model.BACnetScaleParseWithBuffer(io)
 	case "BACnetNotificationParametersChangeOfValueNewValue":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetNotificationParametersChangeOfValueNewValueParse(io, tagNumber)
+		return model.BACnetNotificationParametersChangeOfValueNewValueParseWithBuffer(io, tagNumber)
 	case "ErrorCodeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.ErrorCodeTaggedParse(io, tagNumber, tagClass)
+		return model.ErrorCodeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetPolarityTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetPolarityTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetPolarityTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetServiceAckAtomicReadFileStreamOrRecord":
-		return model.BACnetServiceAckAtomicReadFileStreamOrRecordParse(io)
+		return model.BACnetServiceAckAtomicReadFileStreamOrRecordParseWithBuffer(io)
 	case "BACnetChannelValue":
-		return model.BACnetChannelValueParse(io)
+		return model.BACnetChannelValueParseWithBuffer(io)
 	case "BACnetConstructedData":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
@@ -1205,230 +1205,230 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[1])
 		propertyIdentifierArgument, _ := model.BACnetPropertyIdentifierByName(arguments[2])
 		var arrayIndexArgument model.BACnetTagPayloadUnsignedInteger
-		return model.BACnetConstructedDataParse(io, tagNumber, objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
+		return model.BACnetConstructedDataParseWithBuffer(io, tagNumber, objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
 	case "BACnetEventTypeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetEventTypeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetEventTypeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetObjectPropertyReference":
-		return model.BACnetObjectPropertyReferenceParse(io)
+		return model.BACnetObjectPropertyReferenceParseWithBuffer(io)
 	case "BACnetBinaryLightingPVTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetBinaryLightingPVTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetBinaryLightingPVTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetOptionalREAL":
-		return model.BACnetOptionalREALParse(io)
+		return model.BACnetOptionalREALParseWithBuffer(io)
 	case "BACnetTagPayloadTime":
-		return model.BACnetTagPayloadTimeParse(io)
+		return model.BACnetTagPayloadTimeParseWithBuffer(io)
 	case "BACnetAuthenticationFactorEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetAuthenticationFactorEnclosedParse(io, tagNumber)
+		return model.BACnetAuthenticationFactorEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetEventSummary":
-		return model.BACnetEventSummaryParse(io)
+		return model.BACnetEventSummaryParseWithBuffer(io)
 	case "BACnetAccessZoneOccupancyStateTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetAccessZoneOccupancyStateTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetAccessZoneOccupancyStateTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetPropertyAccessResultAccessResult":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[0])
 		propertyIdentifierArgument, _ := model.BACnetPropertyIdentifierByName(arguments[1])
 		var propertyArrayIndexArgument model.BACnetTagPayloadUnsignedInteger
-		return model.BACnetPropertyAccessResultAccessResultParse(io, objectTypeArgument, propertyIdentifierArgument, propertyArrayIndexArgument)
+		return model.BACnetPropertyAccessResultAccessResultParseWithBuffer(io, objectTypeArgument, propertyIdentifierArgument, propertyArrayIndexArgument)
 	case "BACnetNetworkPortCommandTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetNetworkPortCommandTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetNetworkPortCommandTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetGroupChannelValue":
-		return model.BACnetGroupChannelValueParse(io)
+		return model.BACnetGroupChannelValueParseWithBuffer(io)
 	case "BACnetRejectReasonTagged":
 		actualLength, err := utils.StrToUint32(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetRejectReasonTaggedParse(io, actualLength)
+		return model.BACnetRejectReasonTaggedParseWithBuffer(io, actualLength)
 	case "BACnetEscalatorModeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetEscalatorModeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetEscalatorModeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetTagPayloadObjectIdentifier":
-		return model.BACnetTagPayloadObjectIdentifierParse(io)
+		return model.BACnetTagPayloadObjectIdentifierParseWithBuffer(io)
 	case "BACnetPropertyWriteDefinition":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[0])
-		return model.BACnetPropertyWriteDefinitionParse(io, objectTypeArgument)
+		return model.BACnetPropertyWriteDefinitionParseWithBuffer(io, objectTypeArgument)
 	case "BACnetEventLogRecord":
-		return model.BACnetEventLogRecordParse(io)
+		return model.BACnetEventLogRecordParseWithBuffer(io)
 	case "BACnetBinaryPVTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetBinaryPVTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetBinaryPVTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetEventPriorities":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventPrioritiesParse(io, tagNumber)
+		return model.BACnetEventPrioritiesParseWithBuffer(io, tagNumber)
 	case "BACnetDateTime":
-		return model.BACnetDateTimeParse(io)
+		return model.BACnetDateTimeParseWithBuffer(io)
 	case "BACnetLightingOperationTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLightingOperationTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLightingOperationTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetFaultParameterFaultOutOfRangeMinNormalValue":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetFaultParameterFaultOutOfRangeMinNormalValueParse(io, tagNumber)
+		return model.BACnetFaultParameterFaultOutOfRangeMinNormalValueParseWithBuffer(io, tagNumber)
 	case "BACnetEventParameterChangeOfCharacterStringListOfAlarmValues":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetEventParameterChangeOfCharacterStringListOfAlarmValuesParse(io, tagNumber)
+		return model.BACnetEventParameterChangeOfCharacterStringListOfAlarmValuesParseWithBuffer(io, tagNumber)
 	case "BACnetSecurityKeySetKeyIds":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetSecurityKeySetKeyIdsParse(io, tagNumber)
+		return model.BACnetSecurityKeySetKeyIdsParseWithBuffer(io, tagNumber)
 	case "BACnetVMACEntry":
-		return model.BACnetVMACEntryParse(io)
+		return model.BACnetVMACEntryParseWithBuffer(io)
 	case "BACnetTimeStamp":
-		return model.BACnetTimeStampParse(io)
+		return model.BACnetTimeStampParseWithBuffer(io)
 	case "BACnetNotificationParameters":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[1])
-		return model.BACnetNotificationParametersParse(io, tagNumber, objectTypeArgument)
+		return model.BACnetNotificationParametersParseWithBuffer(io, tagNumber, objectTypeArgument)
 	case "BACnetClosingTag":
 		tagNumberArgument, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetClosingTagParse(io, tagNumberArgument)
+		return model.BACnetClosingTagParseWithBuffer(io, tagNumberArgument)
 	case "BACnetTimeStampsEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetTimeStampsEnclosedParse(io, tagNumber)
+		return model.BACnetTimeStampsEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntry":
-		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryParse(io)
+		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryParseWithBuffer(io)
 	case "BACnetHostAddressEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetHostAddressEnclosedParse(io, tagNumber)
+		return model.BACnetHostAddressEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetNetworkTypeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetNetworkTypeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetNetworkTypeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetConstructedDataElement":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[0])
 		propertyIdentifierArgument, _ := model.BACnetPropertyIdentifierByName(arguments[1])
 		var arrayIndexArgument model.BACnetTagPayloadUnsignedInteger
-		return model.BACnetConstructedDataElementParse(io, objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
+		return model.BACnetConstructedDataElementParseWithBuffer(io, objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
 	case "BACnetPropertyValues":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(arguments[1])
-		return model.BACnetPropertyValuesParse(io, tagNumber, objectTypeArgument)
+		return model.BACnetPropertyValuesParseWithBuffer(io, tagNumber, objectTypeArgument)
 	case "BACnetProtocolLevelTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetProtocolLevelTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetProtocolLevelTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetCOVMultipleSubscription":
-		return model.BACnetCOVMultipleSubscriptionParse(io)
+		return model.BACnetCOVMultipleSubscriptionParseWithBuffer(io)
 	case "BACnetActionList":
-		return model.BACnetActionListParse(io)
+		return model.BACnetActionListParseWithBuffer(io)
 	case "BACnetLightingCommand":
-		return model.BACnetLightingCommandParse(io)
+		return model.BACnetLightingCommandParseWithBuffer(io)
 	case "SubscribeCOVPropertyMultipleErrorFirstFailedSubscription":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.SubscribeCOVPropertyMultipleErrorFirstFailedSubscriptionParse(io, tagNumber)
+		return model.SubscribeCOVPropertyMultipleErrorFirstFailedSubscriptionParseWithBuffer(io, tagNumber)
 	case "BACnetAuthenticationFactor":
-		return model.BACnetAuthenticationFactorParse(io)
+		return model.BACnetAuthenticationFactorParseWithBuffer(io)
 	case "MaxSegmentsAcceptedTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.MaxSegmentsAcceptedTaggedParse(io, tagNumber, tagClass)
+		return model.MaxSegmentsAcceptedTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetWriteAccessSpecification":
-		return model.BACnetWriteAccessSpecificationParse(io)
+		return model.BACnetWriteAccessSpecificationParseWithBuffer(io)
 	case "BACnetLightingCommandEnclosed":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
-		return model.BACnetLightingCommandEnclosedParse(io, tagNumber)
+		return model.BACnetLightingCommandEnclosedParseWithBuffer(io, tagNumber)
 	case "BACnetLiftCarDoorCommandTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLiftCarDoorCommandTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLiftCarDoorCommandTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLiftCarModeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLiftCarModeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLiftCarModeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetSilencedStateTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetSilencedStateTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetSilencedStateTaggedParseWithBuffer(io, tagNumber, tagClass)
 	case "BACnetLifeSafetyModeTagged":
 		tagNumber, err := utils.StrToUint8(arguments[0])
 		if err != nil {
 			return nil, errors.Wrap(err, "Error parsing")
 		}
 		tagClass, _ := model.TagClassByName(arguments[1])
-		return model.BACnetLifeSafetyModeTaggedParse(io, tagNumber, tagClass)
+		return model.BACnetLifeSafetyModeTaggedParseWithBuffer(io, tagNumber, tagClass)
 	}
 	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/protocols/bacnetip/readwrite/XmlParserHelper.go b/plc4go/protocols/bacnetip/readwrite/XmlParserHelper.go
index 8e687d18a..38784678e 100644
--- a/plc4go/protocols/bacnetip/readwrite/XmlParserHelper.go
+++ b/plc4go/protocols/bacnetip/readwrite/XmlParserHelper.go
@@ -49,7 +49,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAuthenticationStatusTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAuthenticationStatusTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLiftGroupModeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -57,16 +57,16 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLiftGroupModeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLiftGroupModeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetValueSource":
-		return model.BACnetValueSourceParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetValueSourceParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetOpeningTag":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumberArgument := uint8(parsedUint0)
-		return model.BACnetOpeningTagParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumberArgument)
+		return model.BACnetOpeningTagParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumberArgument)
 	case "BACnetPriorityArray":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[0])
 		parsedUint1, err := strconv.ParseUint(parserArguments[1], 10, 8)
@@ -76,36 +76,36 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		tagNumber := uint8(parsedUint1)
 		// TODO: find a way to parse the sub types
 		var arrayIndexArgument model.BACnetTagPayloadUnsignedInteger
-		return model.BACnetPriorityArrayParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument, tagNumber, arrayIndexArgument)
+		return model.BACnetPriorityArrayParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument, tagNumber, arrayIndexArgument)
 	case "BACnetNameValue":
-		return model.BACnetNameValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetNameValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetPropertyReferenceEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetPropertyReferenceEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetPropertyReferenceEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetSpecialEvent":
-		return model.BACnetSpecialEventParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetSpecialEventParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetRouterEntry":
-		return model.BACnetRouterEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetRouterEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetTagPayloadReal":
-		return model.BACnetTagPayloadRealParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetTagPayloadRealParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetFaultParameterFaultExtendedParameters":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetFaultParameterFaultExtendedParametersParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetFaultParameterFaultExtendedParametersParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetNotificationParametersExtendedParameters":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetNotificationParametersExtendedParametersParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetNotificationParametersExtendedParametersParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetLoggingTypeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -113,23 +113,23 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLoggingTypeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLoggingTypeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetConfirmedServiceRequestGetEnrollmentSummaryPriorityFilter":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryPriorityFilterParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryPriorityFilterParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetTimeValue":
-		return model.BACnetTimeValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetTimeValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetTagPayloadOctetString":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		actualLength := uint32(parsedUint0)
-		return model.BACnetTagPayloadOctetStringParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
+		return model.BACnetTagPayloadOctetStringParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
 	case "BACnetEscalatorOperationDirectionTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -137,23 +137,23 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetEscalatorOperationDirectionTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetEscalatorOperationDirectionTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "NPDUControl":
-		return model.NPDUControlParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.NPDUControlParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetFaultParameterFaultStateListOfFaultValues":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetFaultParameterFaultStateListOfFaultValuesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetFaultParameterFaultStateListOfFaultValuesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetTimeStampEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetTimeStampEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetTimeStampEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetTimerStateTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -161,35 +161,35 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetTimerStateTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetTimerStateTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetDateRangeEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetDateRangeEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetDateRangeEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetEventParameterChangeOfTimerAlarmValue":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventParameterChangeOfTimerAlarmValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventParameterChangeOfTimerAlarmValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetUnconfirmedServiceRequest":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
 		if err != nil {
 			return nil, err
 		}
 		serviceRequestLength := uint16(parsedUint0)
-		return model.BACnetUnconfirmedServiceRequestParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), serviceRequestLength)
+		return model.BACnetUnconfirmedServiceRequestParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), serviceRequestLength)
 	case "BACnetAddressEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetAddressEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetAddressEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetObjectTypeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -197,7 +197,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetObjectTypeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetObjectTypeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetDaysOfWeekTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -205,7 +205,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetDaysOfWeekTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetDaysOfWeekTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetReadAccessResultListOfResults":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -213,7 +213,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[1])
-		return model.BACnetReadAccessResultListOfResultsParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, objectTypeArgument)
+		return model.BACnetReadAccessResultListOfResultsParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, objectTypeArgument)
 	case "BACnetRouterEntryStatusTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -221,7 +221,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetRouterEntryStatusTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetRouterEntryStatusTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetAccessRuleTimeRangeSpecifierTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -229,7 +229,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAccessRuleTimeRangeSpecifierTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAccessRuleTimeRangeSpecifierTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetObjectTypesSupportedTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -237,9 +237,9 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetObjectTypesSupportedTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetObjectTypesSupportedTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BVLCBroadcastDistributionTableEntry":
-		return model.BVLCBroadcastDistributionTableEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BVLCBroadcastDistributionTableEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetBackupStateTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -247,23 +247,23 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetBackupStateTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetBackupStateTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetEventParameterChangeOfLifeSavetyListOfLifeSavetyAlarmValues":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventParameterChangeOfLifeSavetyListOfLifeSavetyAlarmValuesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventParameterChangeOfLifeSavetyListOfLifeSavetyAlarmValuesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetDestination":
-		return model.BACnetDestinationParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetDestinationParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecification":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetDeviceStatusTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -271,27 +271,27 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetDeviceStatusTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetDeviceStatusTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetPrescale":
-		return model.BACnetPrescaleParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetPrescaleParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "ErrorEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.ErrorEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.ErrorEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetAuthenticationPolicyListEntry":
-		return model.BACnetAuthenticationPolicyListEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAuthenticationPolicyListEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "APDU":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
 		if err != nil {
 			return nil, err
 		}
 		apduLength := uint16(parsedUint0)
-		return model.APDUParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), apduLength)
+		return model.APDUParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), apduLength)
 	case "BACnetEventNotificationSubscription":
-		return model.BACnetEventNotificationSubscriptionParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetEventNotificationSubscriptionParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetSegmentationTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -299,18 +299,18 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetSegmentationTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetSegmentationTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetSecurityKeySet":
-		return model.BACnetSecurityKeySetParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetSecurityKeySetParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetNetworkSecurityPolicy":
-		return model.BACnetNetworkSecurityPolicyParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetNetworkSecurityPolicyParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetHostNPortEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetHostNPortEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetHostNPortEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetPropertyIdentifierTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -318,35 +318,35 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetPropertyIdentifierTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetPropertyIdentifierTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetRecipientEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetRecipientEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetRecipientEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetConfirmedServiceRequest":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		serviceRequestLength := uint32(parsedUint0)
-		return model.BACnetConfirmedServiceRequestParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), serviceRequestLength)
+		return model.BACnetConfirmedServiceRequestParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), serviceRequestLength)
 	case "BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferences":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferencesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferencesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetTagPayloadUnsignedInteger":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		actualLength := uint32(parsedUint0)
-		return model.BACnetTagPayloadUnsignedIntegerParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
+		return model.BACnetTagPayloadUnsignedIntegerParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
 	case "BACnetAccessUserTypeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -354,7 +354,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAccessUserTypeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAccessUserTypeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetRestartReasonTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -362,25 +362,25 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetRestartReasonTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetRestartReasonTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetTagPayloadBitString":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		actualLength := uint32(parsedUint0)
-		return model.BACnetTagPayloadBitStringParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
+		return model.BACnetTagPayloadBitStringParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
 	case "BACnetClientCOV":
-		return model.BACnetClientCOVParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetClientCOVParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetSetpointReference":
-		return model.BACnetSetpointReferenceParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetSetpointReferenceParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetObjectPropertyReferenceEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetObjectPropertyReferenceEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetObjectPropertyReferenceEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetEscalatorFaultTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -388,7 +388,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetEscalatorFaultTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetEscalatorFaultTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetEventStateTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -396,16 +396,16 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetEventStateTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetEventStateTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetTagHeader":
-		return model.BACnetTagHeaderParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetTagHeaderParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetTagPayloadBoolean":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		actualLength := uint32(parsedUint0)
-		return model.BACnetTagPayloadBooleanParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
+		return model.BACnetTagPayloadBooleanParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
 	case "BACnetFaultTypeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -413,16 +413,16 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetFaultTypeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetFaultTypeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "VTCloseErrorListOfVTSessionIdentifiers":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.VTCloseErrorListOfVTSessionIdentifiersParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.VTCloseErrorListOfVTSessionIdentifiersParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecifications":
-		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetIPModeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -430,17 +430,17 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetIPModeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetIPModeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetAccumulatorRecord":
-		return model.BACnetAccumulatorRecordParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAccumulatorRecordParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetDailySchedule":
-		return model.BACnetDailyScheduleParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetDailyScheduleParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLogDataLogDataEntry":
-		return model.BACnetLogDataLogDataEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetLogDataLogDataEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetOptionalBinaryPV":
-		return model.BACnetOptionalBinaryPVParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetOptionalBinaryPVParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetBDTEntry":
-		return model.BACnetBDTEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetBDTEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetEngineeringUnitsTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -448,36 +448,36 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetEngineeringUnitsTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetEngineeringUnitsTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "ListOfCovNotifications":
-		return model.ListOfCovNotificationsParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.ListOfCovNotificationsParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetAssignedAccessRights":
-		return model.BACnetAssignedAccessRightsParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAssignedAccessRightsParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetConfirmedServiceRequestCreateObjectObjectSpecifier":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetConfirmedServiceRequestCreateObjectObjectSpecifierParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetConfirmedServiceRequestCreateObjectObjectSpecifierParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetAuthenticationPolicy":
-		return model.BACnetAuthenticationPolicyParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAuthenticationPolicyParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetPropertyAccessResult":
-		return model.BACnetPropertyAccessResultParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetPropertyAccessResultParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsList":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsListParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsListParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "NPDU":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
 		if err != nil {
 			return nil, err
 		}
 		npduLength := uint16(parsedUint0)
-		return model.NPDUParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), npduLength)
+		return model.NPDUParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), npduLength)
 	case "BACnetProgramStateTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -485,7 +485,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetProgramStateTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetProgramStateTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetDoorSecuredStatusTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -493,7 +493,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetDoorSecuredStatusTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetDoorSecuredStatusTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "ErrorClassTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -501,21 +501,21 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.ErrorClassTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.ErrorClassTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetSpecialEventListOfTimeValues":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetSpecialEventListOfTimeValuesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetSpecialEventListOfTimeValuesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetFaultParameterFaultOutOfRangeMaxNormalValue":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetFaultParameterFaultOutOfRangeMaxNormalValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetFaultParameterFaultOutOfRangeMaxNormalValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetAccessRuleLocationSpecifierTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -523,11 +523,11 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAccessRuleLocationSpecifierTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAccessRuleLocationSpecifierTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferencesEntry":
-		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferencesEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryListOfCovReferencesEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetAuthenticationFactorFormat":
-		return model.BACnetAuthenticationFactorFormatParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAuthenticationFactorFormatParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetMaintenanceTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -535,26 +535,26 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetMaintenanceTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetMaintenanceTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetNotificationParametersChangeOfDiscreteValueNewValue":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetNotificationParametersChangeOfDiscreteValueNewValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetNotificationParametersChangeOfDiscreteValueNewValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetReadAccessPropertyReadResult":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[0])
 		propertyIdentifierArgument, _ := model.BACnetPropertyIdentifierByName(parserArguments[1])
 		// TODO: find a way to parse the sub types
 		var arrayIndexArgument model.BACnetTagPayloadUnsignedInteger
-		return model.BACnetReadAccessPropertyReadResultParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
+		return model.BACnetReadAccessPropertyReadResultParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
 	case "BACnetActionCommand":
-		return model.BACnetActionCommandParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetActionCommandParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetFaultParameterFaultExtendedParametersEntry":
-		return model.BACnetFaultParameterFaultExtendedParametersEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetFaultParameterFaultExtendedParametersEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetTagPayloadDate":
-		return model.BACnetTagPayloadDateParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetTagPayloadDateParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetConfirmedServiceRequestGetEnrollmentSummaryAcknowledgementFilterTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -562,24 +562,24 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryAcknowledgementFilterTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryAcknowledgementFilterTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetEventParameterExtendedParameters":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventParameterExtendedParametersParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventParameterExtendedParametersParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetEventParameterAccessEventListOfAccessEvents":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventParameterAccessEventListOfAccessEventsParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventParameterAccessEventListOfAccessEventsParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetReadAccessProperty":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[0])
-		return model.BACnetReadAccessPropertyParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
+		return model.BACnetReadAccessPropertyParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
 	case "BACnetLifeSafetyOperationTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -587,7 +587,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLifeSafetyOperationTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLifeSafetyOperationTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetWeekNDayTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -595,7 +595,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetWeekNDayTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetWeekNDayTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetEventTransitionBitsTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -603,21 +603,21 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetEventTransitionBitsTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetEventTransitionBitsTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLogData":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetLogDataParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetLogDataParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetFaultParameterFaultCharacterStringListOfFaultValues":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetFaultParameterFaultCharacterStringListOfFaultValuesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetFaultParameterFaultCharacterStringListOfFaultValuesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetLockStatusTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -625,18 +625,18 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLockStatusTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLockStatusTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetDeviceObjectPropertyReferenceEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetDeviceObjectPropertyReferenceEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetDeviceObjectPropertyReferenceEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetPropertyStates":
-		return model.BACnetPropertyStatesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetPropertyStatesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetReadAccessResult":
-		return model.BACnetReadAccessResultParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetReadAccessResultParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetResultFlagsTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -644,7 +644,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetResultFlagsTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetResultFlagsTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetAccessCredentialDisableReasonTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -652,7 +652,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAccessCredentialDisableReasonTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAccessCredentialDisableReasonTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLightingInProgressTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -660,7 +660,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLightingInProgressTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLightingInProgressTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLifeSafetyStateTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -668,16 +668,16 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLifeSafetyStateTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLifeSafetyStateTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetVTSession":
-		return model.BACnetVTSessionParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetVTSessionParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetEventTimestampsEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventTimestampsEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventTimestampsEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetSecurityLevelTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -685,21 +685,21 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetSecurityLevelTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetSecurityLevelTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLogRecordLogDatum":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetLogRecordLogDatumParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetLogRecordLogDatumParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetDateTimeEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetDateTimeEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetDateTimeEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetTimerTransitionTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -707,9 +707,9 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetTimerTransitionTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetTimerTransitionTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLogMultipleRecord":
-		return model.BACnetLogMultipleRecordParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetLogMultipleRecordParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetProgramRequestTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -717,7 +717,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetProgramRequestTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetProgramRequestTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetConfirmedServiceRequestGetEnrollmentSummaryEventStateFilterTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -725,11 +725,11 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryEventStateFilterTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetConfirmedServiceRequestGetEnrollmentSummaryEventStateFilterTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetDateRange":
-		return model.BACnetDateRangeParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetDateRangeParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetEventParameter":
-		return model.BACnetEventParameterParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetEventParameterParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLiftFaultTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -737,7 +737,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLiftFaultTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLiftFaultTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "MaxApduLengthAcceptedTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -745,21 +745,21 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.MaxApduLengthAcceptedTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.MaxApduLengthAcceptedTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetPropertyStatesEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetPropertyStatesEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetPropertyStatesEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetGroupChannelValueList":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetGroupChannelValueListParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetGroupChannelValueListParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetFileAccessMethodTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -767,21 +767,21 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetFileAccessMethodTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetFileAccessMethodTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetTagPayloadCharacterString":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		actualLength := uint32(parsedUint0)
-		return model.BACnetTagPayloadCharacterStringParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
+		return model.BACnetTagPayloadCharacterStringParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
 	case "BACnetEventLogRecordLogDatum":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventLogRecordLogDatumParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventLogRecordLogDatumParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetStatusFlagsTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -789,7 +789,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetStatusFlagsTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetStatusFlagsTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetNodeTypeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -797,31 +797,31 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetNodeTypeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetNodeTypeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetOptionalCharacterString":
-		return model.BACnetOptionalCharacterStringParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetOptionalCharacterStringParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetAddress":
-		return model.BACnetAddressParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAddressParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetEventParameterChangeOfLifeSavetyListOfAlarmValues":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventParameterChangeOfLifeSavetyListOfAlarmValuesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventParameterChangeOfLifeSavetyListOfAlarmValuesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsReference":
-		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsReferenceParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsReferenceParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetApplicationTag":
-		return model.BACnetApplicationTagParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetApplicationTagParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetEventParameterChangeOfBitstringListOfBitstringValues":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventParameterChangeOfBitstringListOfBitstringValuesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventParameterChangeOfBitstringListOfBitstringValuesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetShedLevel":
-		return model.BACnetShedLevelParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetShedLevelParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetActionTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -829,23 +829,23 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetActionTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetActionTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetCredentialAuthenticationFactor":
-		return model.BACnetCredentialAuthenticationFactorParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetCredentialAuthenticationFactorParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetAssignedLandingCallsLandingCallsListEntry":
-		return model.BACnetAssignedLandingCallsLandingCallsListEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAssignedLandingCallsLandingCallsListEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetPropertyValue":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[0])
-		return model.BACnetPropertyValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
+		return model.BACnetPropertyValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
 	case "BACnetCOVSubscription":
-		return model.BACnetCOVSubscriptionParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetCOVSubscriptionParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetFaultParameterFaultLifeSafetyListOfFaultValues":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetFaultParameterFaultLifeSafetyListOfFaultValuesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetFaultParameterFaultLifeSafetyListOfFaultValuesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetRelationshipTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -853,20 +853,20 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetRelationshipTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetRelationshipTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "NLMInitalizeRoutingTablePortMapping":
-		return model.NLMInitalizeRoutingTablePortMappingParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.NLMInitalizeRoutingTablePortMappingParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetRecipientProcessEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetRecipientProcessEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetRecipientProcessEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetAccessRule":
-		return model.BACnetAccessRuleParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAccessRuleParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetHostNPort":
-		return model.BACnetHostNPortParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetHostNPortParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetShedStateTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -874,7 +874,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetShedStateTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetShedStateTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetAccessEventTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -882,14 +882,14 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAccessEventTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAccessEventTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetServiceAck":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		serviceAckLength := uint32(parsedUint0)
-		return model.BACnetServiceAckParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), serviceAckLength)
+		return model.BACnetServiceAckParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), serviceAckLength)
 	case "BACnetAccessCredentialDisableTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -897,9 +897,9 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAccessCredentialDisableTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAccessCredentialDisableTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLiftCarCallList":
-		return model.BACnetLiftCarCallListParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetLiftCarCallListParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLightingTransitionTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -907,9 +907,9 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLightingTransitionTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLightingTransitionTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetAssignedLandingCalls":
-		return model.BACnetAssignedLandingCallsParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAssignedLandingCallsParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetNotifyTypeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -917,7 +917,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetNotifyTypeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetNotifyTypeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetAuthorizationExemptionTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -925,14 +925,14 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAuthorizationExemptionTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAuthorizationExemptionTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLandingDoorStatusLandingDoorsList":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetLandingDoorStatusLandingDoorsListParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetLandingDoorStatusLandingDoorsListParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetConfirmedServiceRequestReinitializeDeviceReinitializedStateOfDeviceTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -940,7 +940,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetConfirmedServiceRequestReinitializeDeviceReinitializedStateOfDeviceTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetConfirmedServiceRequestReinitializeDeviceReinitializedStateOfDeviceTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetAuthenticationFactorTypeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -948,7 +948,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAuthenticationFactorTypeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAuthenticationFactorTypeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetAccessAuthenticationFactorDisableTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -956,7 +956,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAccessAuthenticationFactorDisableTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAccessAuthenticationFactorDisableTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetAuthorizationModeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -964,7 +964,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAuthorizationModeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAuthorizationModeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetConfirmedServiceRequestConfirmedTextMessageMessagePriorityTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -972,7 +972,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetConfirmedServiceRequestConfirmedTextMessageMessagePriorityTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetConfirmedServiceRequestConfirmedTextMessageMessagePriorityTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetDoorStatusTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -980,7 +980,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetDoorStatusTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetDoorStatusTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetVendorIdTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -988,23 +988,23 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetVendorIdTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetVendorIdTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetEventTimestamps":
-		return model.BACnetEventTimestampsParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetEventTimestampsParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetNameValueCollection":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetNameValueCollectionParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetNameValueCollectionParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetTagPayloadEnumerated":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		actualLength := uint32(parsedUint0)
-		return model.BACnetTagPayloadEnumeratedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
+		return model.BACnetTagPayloadEnumeratedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
 	case "BACnetLimitEnableTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1012,7 +1012,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLimitEnableTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLimitEnableTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetDoorAlarmStateTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1020,7 +1020,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetDoorAlarmStateTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetDoorAlarmStateTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetServicesSupportedTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1028,7 +1028,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetServicesSupportedTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetServicesSupportedTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetWriteStatusTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1036,38 +1036,38 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetWriteStatusTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetWriteStatusTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetRecipientProcess":
-		return model.BACnetRecipientProcessParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetRecipientProcessParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetReadAccessSpecification":
-		return model.BACnetReadAccessSpecificationParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetReadAccessSpecificationParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetAuthenticationPolicyList":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetAuthenticationPolicyListParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetAuthenticationPolicyListParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetLandingDoorStatus":
-		return model.BACnetLandingDoorStatusParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetLandingDoorStatusParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLiftCarCallListFloorList":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetLiftCarCallListFloorListParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetLiftCarCallListFloorListParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetAccessThreatLevel":
-		return model.BACnetAccessThreatLevelParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAccessThreatLevelParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetCalendarEntryEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetCalendarEntryEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetCalendarEntryEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetRecipient":
-		return model.BACnetRecipientParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetRecipientParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLiftCarDriveStatusTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1075,16 +1075,16 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLiftCarDriveStatusTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLiftCarDriveStatusTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetUnconfirmedServiceRequestWhoHasObject":
-		return model.BACnetUnconfirmedServiceRequestWhoHasObjectParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetUnconfirmedServiceRequestWhoHasObjectParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetTagPayloadSignedInteger":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		actualLength := uint32(parsedUint0)
-		return model.BACnetTagPayloadSignedIntegerParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
+		return model.BACnetTagPayloadSignedIntegerParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
 	case "BACnetSecurityPolicyTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1092,15 +1092,15 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetSecurityPolicyTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetSecurityPolicyTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord":
-		return model.BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecordParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecordParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BVLC":
-		return model.BVLCParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BVLCParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "ConfirmedEventNotificationRequest":
-		return model.ConfirmedEventNotificationRequestParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.ConfirmedEventNotificationRequestParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLandingDoorStatusLandingDoorsListEntry":
-		return model.BACnetLandingDoorStatusLandingDoorsListEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetLandingDoorStatusLandingDoorsListEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLiftCarDirectionTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1108,62 +1108,62 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLiftCarDirectionTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLiftCarDirectionTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetConfirmedServiceRequestConfirmedTextMessageMessageClassParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetConfirmedServiceRequestConfirmedTextMessageMessageClassParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetAddressBinding":
-		return model.BACnetAddressBindingParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAddressBindingParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLandingCallStatusCommand":
-		return model.BACnetLandingCallStatusCommandParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetLandingCallStatusCommandParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "ListOfCovNotificationsValue":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[0])
-		return model.ListOfCovNotificationsValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
+		return model.ListOfCovNotificationsValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
 	case "BACnetLandingCallStatus":
-		return model.BACnetLandingCallStatusParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetLandingCallStatusParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetEventParameterChangeOfStateListOfValues":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventParameterChangeOfStateListOfValuesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventParameterChangeOfStateListOfValuesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetPortPermission":
-		return model.BACnetPortPermissionParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetPortPermissionParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetConfirmedServiceRequestReadRangeRange":
-		return model.BACnetConfirmedServiceRequestReadRangeRangeParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetConfirmedServiceRequestReadRangeRangeParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetError":
 		errorChoice, _ := model.BACnetConfirmedServiceChoiceByName(parserArguments[0])
-		return model.BACnetErrorParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), errorChoice)
+		return model.BACnetErrorParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), errorChoice)
 	case "BACnetDeviceObjectReferenceEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetDeviceObjectReferenceEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetDeviceObjectReferenceEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetOptionalUnsigned":
-		return model.BACnetOptionalUnsignedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetOptionalUnsignedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetHostAddress":
-		return model.BACnetHostAddressParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetHostAddressParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "ListOfCovNotificationsList":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.ListOfCovNotificationsListParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.ListOfCovNotificationsListParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetEventSummariesList":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventSummariesListParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventSummariesListParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetVTClassTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1171,9 +1171,9 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetVTClassTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetVTClassTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetDeviceObjectPropertyReference":
-		return model.BACnetDeviceObjectPropertyReferenceParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetDeviceObjectPropertyReferenceParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetConfirmedServiceRequestDeviceCommunicationControlEnableDisableTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1181,18 +1181,18 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetConfirmedServiceRequestDeviceCommunicationControlEnableDisableTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetConfirmedServiceRequestDeviceCommunicationControlEnableDisableTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetProcessIdSelection":
-		return model.BACnetProcessIdSelectionParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetProcessIdSelectionParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetAssignedLandingCallsLandingCallsList":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetAssignedLandingCallsLandingCallsListParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetAssignedLandingCallsLandingCallsListParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetTagPayloadDouble":
-		return model.BACnetTagPayloadDoubleParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetTagPayloadDoubleParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetAccumulatorRecordAccumulatorStatusTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1200,14 +1200,14 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAccumulatorRecordAccumulatorStatusTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAccumulatorRecordAccumulatorStatusTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetTimerStateChangeValue":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[0])
-		return model.BACnetTimerStateChangeValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
+		return model.BACnetTimerStateChangeValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
 	case "BACnetSpecialEventPeriod":
-		return model.BACnetSpecialEventPeriodParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetSpecialEventPeriodParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetKeyIdentifier":
-		return model.BACnetKeyIdentifierParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetKeyIdentifierParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetNetworkNumberQualityTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1215,7 +1215,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetNetworkNumberQualityTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetNetworkNumberQualityTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLogStatusTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1223,14 +1223,14 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLogStatusTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLogStatusTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetAbortReasonTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		actualLength := uint32(parsedUint0)
-		return model.BACnetAbortReasonTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
+		return model.BACnetAbortReasonTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
 	case "BACnetProgramErrorTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1238,11 +1238,11 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetProgramErrorTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetProgramErrorTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "Error":
-		return model.ErrorParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.ErrorParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetPropertyReference":
-		return model.BACnetPropertyReferenceParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetPropertyReferenceParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetContextTag":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1250,7 +1250,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumberArgument := uint8(parsedUint0)
 		dataType, _ := model.BACnetDataTypeByName(parserArguments[1])
-		return model.BACnetContextTagParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumberArgument, dataType)
+		return model.BACnetContextTagParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumberArgument, dataType)
 	case "BACnetUnconfirmedServiceChoiceTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1258,7 +1258,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetUnconfirmedServiceChoiceTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetUnconfirmedServiceChoiceTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BVLCResultCodeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1266,23 +1266,23 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BVLCResultCodeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BVLCResultCodeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetFaultParameter":
-		return model.BACnetFaultParameterParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetFaultParameterParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetEventParameterChangeOfValueCivCriteria":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventParameterChangeOfValueCivCriteriaParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventParameterChangeOfValueCivCriteriaParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetPriorityValue":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[0])
-		return model.BACnetPriorityValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
+		return model.BACnetPriorityValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
 	case "BACnetLogRecord":
-		return model.BACnetLogRecordParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetLogRecordParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetCalendarEntry":
-		return model.BACnetCalendarEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetCalendarEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetAccessPassbackModeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1290,20 +1290,20 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAccessPassbackModeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAccessPassbackModeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetDeviceObjectReference":
-		return model.BACnetDeviceObjectReferenceParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetDeviceObjectReferenceParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BVLCForeignDeviceTableEntry":
-		return model.BVLCForeignDeviceTableEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BVLCForeignDeviceTableEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "NLM":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 16)
 		if err != nil {
 			return nil, err
 		}
 		apduLength := uint16(parsedUint0)
-		return model.NLMParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), apduLength)
+		return model.NLMParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), apduLength)
 	case "BACnetWeekNDay":
-		return model.BACnetWeekNDayParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetWeekNDayParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "NPDUNetworkPriorityTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1311,7 +1311,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.NPDUNetworkPriorityTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.NPDUNetworkPriorityTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetReliabilityTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1319,7 +1319,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetReliabilityTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetReliabilityTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetDoorValueTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1327,16 +1327,16 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetDoorValueTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetDoorValueTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetScale":
-		return model.BACnetScaleParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetScaleParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetNotificationParametersChangeOfValueNewValue":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetNotificationParametersChangeOfValueNewValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetNotificationParametersChangeOfValueNewValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "ErrorCodeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1344,7 +1344,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.ErrorCodeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.ErrorCodeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetPolarityTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1352,11 +1352,11 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetPolarityTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetPolarityTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetServiceAckAtomicReadFileStreamOrRecord":
-		return model.BACnetServiceAckAtomicReadFileStreamOrRecordParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetServiceAckAtomicReadFileStreamOrRecordParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetChannelValue":
-		return model.BACnetChannelValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetChannelValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetConstructedData":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1367,7 +1367,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		propertyIdentifierArgument, _ := model.BACnetPropertyIdentifierByName(parserArguments[2])
 		// TODO: find a way to parse the sub types
 		var arrayIndexArgument model.BACnetTagPayloadUnsignedInteger
-		return model.BACnetConstructedDataParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
+		return model.BACnetConstructedDataParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
 	case "BACnetEventTypeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1375,9 +1375,9 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetEventTypeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetEventTypeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetObjectPropertyReference":
-		return model.BACnetObjectPropertyReferenceParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetObjectPropertyReferenceParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetBinaryLightingPVTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1385,20 +1385,20 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetBinaryLightingPVTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetBinaryLightingPVTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetOptionalREAL":
-		return model.BACnetOptionalREALParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetOptionalREALParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetTagPayloadTime":
-		return model.BACnetTagPayloadTimeParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetTagPayloadTimeParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetAuthenticationFactorEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetAuthenticationFactorEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetAuthenticationFactorEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetEventSummary":
-		return model.BACnetEventSummaryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetEventSummaryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetAccessZoneOccupancyStateTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1406,13 +1406,13 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetAccessZoneOccupancyStateTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetAccessZoneOccupancyStateTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetPropertyAccessResultAccessResult":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[0])
 		propertyIdentifierArgument, _ := model.BACnetPropertyIdentifierByName(parserArguments[1])
 		// TODO: find a way to parse the sub types
 		var propertyArrayIndexArgument model.BACnetTagPayloadUnsignedInteger
-		return model.BACnetPropertyAccessResultAccessResultParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument, propertyIdentifierArgument, propertyArrayIndexArgument)
+		return model.BACnetPropertyAccessResultAccessResultParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument, propertyIdentifierArgument, propertyArrayIndexArgument)
 	case "BACnetNetworkPortCommandTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1420,16 +1420,16 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetNetworkPortCommandTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetNetworkPortCommandTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetGroupChannelValue":
-		return model.BACnetGroupChannelValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetGroupChannelValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetRejectReasonTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32)
 		if err != nil {
 			return nil, err
 		}
 		actualLength := uint32(parsedUint0)
-		return model.BACnetRejectReasonTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
+		return model.BACnetRejectReasonTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), actualLength)
 	case "BACnetEscalatorModeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1437,14 +1437,14 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetEscalatorModeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetEscalatorModeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetTagPayloadObjectIdentifier":
-		return model.BACnetTagPayloadObjectIdentifierParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetTagPayloadObjectIdentifierParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetPropertyWriteDefinition":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[0])
-		return model.BACnetPropertyWriteDefinitionParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
+		return model.BACnetPropertyWriteDefinitionParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument)
 	case "BACnetEventLogRecord":
-		return model.BACnetEventLogRecordParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetEventLogRecordParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetBinaryPVTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1452,16 +1452,16 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetBinaryPVTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetBinaryPVTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetEventPriorities":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventPrioritiesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventPrioritiesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetDateTime":
-		return model.BACnetDateTimeParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetDateTimeParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLightingOperationTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1469,32 +1469,32 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLightingOperationTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLightingOperationTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetFaultParameterFaultOutOfRangeMinNormalValue":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetFaultParameterFaultOutOfRangeMinNormalValueParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetFaultParameterFaultOutOfRangeMinNormalValueParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetEventParameterChangeOfCharacterStringListOfAlarmValues":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetEventParameterChangeOfCharacterStringListOfAlarmValuesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetEventParameterChangeOfCharacterStringListOfAlarmValuesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetSecurityKeySetKeyIds":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetSecurityKeySetKeyIdsParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetSecurityKeySetKeyIdsParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetVMACEntry":
-		return model.BACnetVMACEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetVMACEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetTimeStamp":
-		return model.BACnetTimeStampParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetTimeStampParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetNotificationParameters":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1502,30 +1502,30 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[1])
-		return model.BACnetNotificationParametersParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, objectTypeArgument)
+		return model.BACnetNotificationParametersParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, objectTypeArgument)
 	case "BACnetClosingTag":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumberArgument := uint8(parsedUint0)
-		return model.BACnetClosingTagParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumberArgument)
+		return model.BACnetClosingTagParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumberArgument)
 	case "BACnetTimeStampsEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetTimeStampsEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetTimeStampsEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntry":
-		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetHostAddressEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetHostAddressEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetHostAddressEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetNetworkTypeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1533,13 +1533,13 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetNetworkTypeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetNetworkTypeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetConstructedDataElement":
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[0])
 		propertyIdentifierArgument, _ := model.BACnetPropertyIdentifierByName(parserArguments[1])
 		// TODO: find a way to parse the sub types
 		var arrayIndexArgument model.BACnetTagPayloadUnsignedInteger
-		return model.BACnetConstructedDataElementParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
+		return model.BACnetConstructedDataElementParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument)
 	case "BACnetPropertyValues":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1547,7 +1547,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		objectTypeArgument, _ := model.BACnetObjectTypeByName(parserArguments[1])
-		return model.BACnetPropertyValuesParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, objectTypeArgument)
+		return model.BACnetPropertyValuesParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, objectTypeArgument)
 	case "BACnetProtocolLevelTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1555,22 +1555,22 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetProtocolLevelTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetProtocolLevelTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetCOVMultipleSubscription":
-		return model.BACnetCOVMultipleSubscriptionParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetCOVMultipleSubscriptionParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetActionList":
-		return model.BACnetActionListParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetActionListParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLightingCommand":
-		return model.BACnetLightingCommandParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetLightingCommandParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "SubscribeCOVPropertyMultipleErrorFirstFailedSubscription":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.SubscribeCOVPropertyMultipleErrorFirstFailedSubscriptionParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.SubscribeCOVPropertyMultipleErrorFirstFailedSubscriptionParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetAuthenticationFactor":
-		return model.BACnetAuthenticationFactorParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetAuthenticationFactorParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "MaxSegmentsAcceptedTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1578,16 +1578,16 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.MaxSegmentsAcceptedTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.MaxSegmentsAcceptedTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetWriteAccessSpecification":
-		return model.BACnetWriteAccessSpecificationParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
+		return model.BACnetWriteAccessSpecificationParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
 	case "BACnetLightingCommandEnclosed":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
 			return nil, err
 		}
 		tagNumber := uint8(parsedUint0)
-		return model.BACnetLightingCommandEnclosedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
+		return model.BACnetLightingCommandEnclosedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber)
 	case "BACnetLiftCarDoorCommandTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1595,7 +1595,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLiftCarDoorCommandTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLiftCarDoorCommandTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLiftCarModeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1603,7 +1603,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLiftCarModeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLiftCarModeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetSilencedStateTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1611,7 +1611,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetSilencedStateTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetSilencedStateTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	case "BACnetLifeSafetyModeTagged":
 		parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8)
 		if err != nil {
@@ -1619,7 +1619,7 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser
 		}
 		tagNumber := uint8(parsedUint0)
 		tagClass, _ := model.TagClassByName(parserArguments[1])
-		return model.BACnetLifeSafetyModeTaggedParse(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
+		return model.BACnetLifeSafetyModeTaggedParseWithBuffer(utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass)
 	}
 	return nil, errors.Errorf("Unsupported type %s", typeName)
 }
diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDU.go b/plc4go/protocols/bacnetip/readwrite/model/APDU.go
index 1ca2fa82f..d5f055280 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDU.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDU.go
@@ -20,6 +20,7 @@
 package model
 
 import (
+	"encoding/binary"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
@@ -102,7 +103,11 @@ func (m *_APDU) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func APDUParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDU, error) {
+func APDUParse(theBytes []byte, apduLength uint16) (APDU, error) {
+	return APDUParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), apduLength) // TODO: get endianness from mspec
+}
+
+func APDUParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint16) (APDU, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("APDU"); pullErr != nil {
@@ -115,7 +120,7 @@ func APDUParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDU, error) {
 	if pullErr := readBuffer.PullContext("apduType"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for apduType")
 	}
-	apduType_temp, _apduTypeErr := ApduTypeParse(readBuffer)
+	apduType_temp, _apduTypeErr := ApduTypeParseWithBuffer(readBuffer)
 	var apduType ApduType = apduType_temp
 	if closeErr := readBuffer.CloseContext("apduType"); closeErr != nil {
 		return nil, errors.Wrap(closeErr, "Error closing for apduType")
@@ -135,23 +140,23 @@ func APDUParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDU, error) {
 	var typeSwitchError error
 	switch {
 	case apduType == ApduType_CONFIRMED_REQUEST_PDU: // APDUConfirmedRequest
-		_childTemp, typeSwitchError = APDUConfirmedRequestParse(readBuffer, apduLength)
+		_childTemp, typeSwitchError = APDUConfirmedRequestParseWithBuffer(readBuffer, apduLength)
 	case apduType == ApduType_UNCONFIRMED_REQUEST_PDU: // APDUUnconfirmedRequest
-		_childTemp, typeSwitchError = APDUUnconfirmedRequestParse(readBuffer, apduLength)
+		_childTemp, typeSwitchError = APDUUnconfirmedRequestParseWithBuffer(readBuffer, apduLength)
 	case apduType == ApduType_SIMPLE_ACK_PDU: // APDUSimpleAck
-		_childTemp, typeSwitchError = APDUSimpleAckParse(readBuffer, apduLength)
+		_childTemp, typeSwitchError = APDUSimpleAckParseWithBuffer(readBuffer, apduLength)
 	case apduType == ApduType_COMPLEX_ACK_PDU: // APDUComplexAck
-		_childTemp, typeSwitchError = APDUComplexAckParse(readBuffer, apduLength)
+		_childTemp, typeSwitchError = APDUComplexAckParseWithBuffer(readBuffer, apduLength)
 	case apduType == ApduType_SEGMENT_ACK_PDU: // APDUSegmentAck
-		_childTemp, typeSwitchError = APDUSegmentAckParse(readBuffer, apduLength)
+		_childTemp, typeSwitchError = APDUSegmentAckParseWithBuffer(readBuffer, apduLength)
 	case apduType == ApduType_ERROR_PDU: // APDUError
-		_childTemp, typeSwitchError = APDUErrorParse(readBuffer, apduLength)
+		_childTemp, typeSwitchError = APDUErrorParseWithBuffer(readBuffer, apduLength)
 	case apduType == ApduType_REJECT_PDU: // APDUReject
-		_childTemp, typeSwitchError = APDURejectParse(readBuffer, apduLength)
+		_childTemp, typeSwitchError = APDURejectParseWithBuffer(readBuffer, apduLength)
 	case apduType == ApduType_ABORT_PDU: // APDUAbort
-		_childTemp, typeSwitchError = APDUAbortParse(readBuffer, apduLength)
+		_childTemp, typeSwitchError = APDUAbortParseWithBuffer(readBuffer, apduLength)
 	case 0 == 0: // APDUUnknown
-		_childTemp, typeSwitchError = APDUUnknownParse(readBuffer, apduLength)
+		_childTemp, typeSwitchError = APDUUnknownParseWithBuffer(readBuffer, apduLength)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [apduType=%v]", apduType)
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDUAbort.go b/plc4go/protocols/bacnetip/readwrite/model/APDUAbort.go
index 8c759084c..c0d3b0445 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDUAbort.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDUAbort.go
@@ -152,7 +152,11 @@ func (m *_APDUAbort) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func APDUAbortParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUAbort, error) {
+func APDUAbortParse(theBytes []byte, apduLength uint16) (APDUAbort, error) {
+	return APDUAbortParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), apduLength) // TODO: get endianness from mspec
+}
+
+func APDUAbortParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint16) (APDUAbort, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("APDUAbort"); pullErr != nil {
@@ -196,7 +200,7 @@ func APDUAbortParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUAbort,
 	if pullErr := readBuffer.PullContext("abortReason"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for abortReason")
 	}
-	_abortReason, _abortReasonErr := BACnetAbortReasonTaggedParse(readBuffer, uint32(uint32(1)))
+	_abortReason, _abortReasonErr := BACnetAbortReasonTaggedParseWithBuffer(readBuffer, uint32(uint32(1)))
 	if _abortReasonErr != nil {
 		return nil, errors.Wrap(_abortReasonErr, "Error parsing 'abortReason' field of APDUAbort")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDUComplexAck.go b/plc4go/protocols/bacnetip/readwrite/model/APDUComplexAck.go
index afbaf3ba0..e873de417 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDUComplexAck.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDUComplexAck.go
@@ -259,7 +259,11 @@ func (m *_APDUComplexAck) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func APDUComplexAckParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUComplexAck, error) {
+func APDUComplexAckParse(theBytes []byte, apduLength uint16) (APDUComplexAck, error) {
+	return APDUComplexAckParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), apduLength) // TODO: get endianness from mspec
+}
+
+func APDUComplexAckParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint16) (APDUComplexAck, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("APDUComplexAck"); pullErr != nil {
@@ -338,7 +342,7 @@ func APDUComplexAckParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUCo
 		if pullErr := readBuffer.PullContext("serviceAck"); pullErr != nil {
 			return nil, errors.Wrap(pullErr, "Error pulling for serviceAck")
 		}
-		_val, _err := BACnetServiceAckParse(readBuffer, uint32(apduLength)-uint32(apduHeaderReduction))
+		_val, _err := BACnetServiceAckParseWithBuffer(readBuffer, uint32(apduLength)-uint32(apduHeaderReduction))
 		switch {
 		case errors.Is(_err, utils.ParseAssertError{}) || errors.Is(_err, io.EOF):
 			Plc4xModelLog.Debug().Err(_err).Msg("Resetting position because optional threw an error")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDUConfirmedRequest.go b/plc4go/protocols/bacnetip/readwrite/model/APDUConfirmedRequest.go
index 79f5dc9ba..7d3d2eb38 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDUConfirmedRequest.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDUConfirmedRequest.go
@@ -292,7 +292,11 @@ func (m *_APDUConfirmedRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func APDUConfirmedRequestParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUConfirmedRequest, error) {
+func APDUConfirmedRequestParse(theBytes []byte, apduLength uint16) (APDUConfirmedRequest, error) {
+	return APDUConfirmedRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), apduLength) // TODO: get endianness from mspec
+}
+
+func APDUConfirmedRequestParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint16) (APDUConfirmedRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("APDUConfirmedRequest"); pullErr != nil {
@@ -343,7 +347,7 @@ func APDUConfirmedRequestParse(readBuffer utils.ReadBuffer, apduLength uint16) (
 	if pullErr := readBuffer.PullContext("maxSegmentsAccepted"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for maxSegmentsAccepted")
 	}
-	_maxSegmentsAccepted, _maxSegmentsAcceptedErr := MaxSegmentsAcceptedParse(readBuffer)
+	_maxSegmentsAccepted, _maxSegmentsAcceptedErr := MaxSegmentsAcceptedParseWithBuffer(readBuffer)
 	if _maxSegmentsAcceptedErr != nil {
 		return nil, errors.Wrap(_maxSegmentsAcceptedErr, "Error parsing 'maxSegmentsAccepted' field of APDUConfirmedRequest")
 	}
@@ -356,7 +360,7 @@ func APDUConfirmedRequestParse(readBuffer utils.ReadBuffer, apduLength uint16) (
 	if pullErr := readBuffer.PullContext("maxApduLengthAccepted"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for maxApduLengthAccepted")
 	}
-	_maxApduLengthAccepted, _maxApduLengthAcceptedErr := MaxApduLengthAcceptedParse(readBuffer)
+	_maxApduLengthAccepted, _maxApduLengthAcceptedErr := MaxApduLengthAcceptedParseWithBuffer(readBuffer)
 	if _maxApduLengthAcceptedErr != nil {
 		return nil, errors.Wrap(_maxApduLengthAcceptedErr, "Error parsing 'maxApduLengthAccepted' field of APDUConfirmedRequest")
 	}
@@ -404,7 +408,7 @@ func APDUConfirmedRequestParse(readBuffer utils.ReadBuffer, apduLength uint16) (
 		if pullErr := readBuffer.PullContext("serviceRequest"); pullErr != nil {
 			return nil, errors.Wrap(pullErr, "Error pulling for serviceRequest")
 		}
-		_val, _err := BACnetConfirmedServiceRequestParse(readBuffer, uint32(apduLength)-uint32(apduHeaderReduction))
+		_val, _err := BACnetConfirmedServiceRequestParseWithBuffer(readBuffer, uint32(apduLength)-uint32(apduHeaderReduction))
 		switch {
 		case errors.Is(_err, utils.ParseAssertError{}) || errors.Is(_err, io.EOF):
 			Plc4xModelLog.Debug().Err(_err).Msg("Resetting position because optional threw an error")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDUError.go b/plc4go/protocols/bacnetip/readwrite/model/APDUError.go
index f98a97916..7b858a45d 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDUError.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDUError.go
@@ -152,7 +152,11 @@ func (m *_APDUError) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func APDUErrorParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUError, error) {
+func APDUErrorParse(theBytes []byte, apduLength uint16) (APDUError, error) {
+	return APDUErrorParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), apduLength) // TODO: get endianness from mspec
+}
+
+func APDUErrorParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint16) (APDUError, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("APDUError"); pullErr != nil {
@@ -189,7 +193,7 @@ func APDUErrorParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUError,
 	if pullErr := readBuffer.PullContext("errorChoice"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for errorChoice")
 	}
-	_errorChoice, _errorChoiceErr := BACnetConfirmedServiceChoiceParse(readBuffer)
+	_errorChoice, _errorChoiceErr := BACnetConfirmedServiceChoiceParseWithBuffer(readBuffer)
 	if _errorChoiceErr != nil {
 		return nil, errors.Wrap(_errorChoiceErr, "Error parsing 'errorChoice' field of APDUError")
 	}
@@ -202,7 +206,7 @@ func APDUErrorParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUError,
 	if pullErr := readBuffer.PullContext("error"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for error")
 	}
-	_error, _errorErr := BACnetErrorParse(readBuffer, BACnetConfirmedServiceChoice(errorChoice))
+	_error, _errorErr := BACnetErrorParseWithBuffer(readBuffer, BACnetConfirmedServiceChoice(errorChoice))
 	if _errorErr != nil {
 		return nil, errors.Wrap(_errorErr, "Error parsing 'error' field of APDUError")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDUReject.go b/plc4go/protocols/bacnetip/readwrite/model/APDUReject.go
index af0674e11..88be516f3 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDUReject.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDUReject.go
@@ -141,7 +141,11 @@ func (m *_APDUReject) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func APDURejectParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUReject, error) {
+func APDURejectParse(theBytes []byte, apduLength uint16) (APDUReject, error) {
+	return APDURejectParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), apduLength) // TODO: get endianness from mspec
+}
+
+func APDURejectParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint16) (APDUReject, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("APDUReject"); pullErr != nil {
@@ -178,7 +182,7 @@ func APDURejectParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUReject
 	if pullErr := readBuffer.PullContext("rejectReason"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for rejectReason")
 	}
-	_rejectReason, _rejectReasonErr := BACnetRejectReasonTaggedParse(readBuffer, uint32(uint32(1)))
+	_rejectReason, _rejectReasonErr := BACnetRejectReasonTaggedParseWithBuffer(readBuffer, uint32(uint32(1)))
 	if _rejectReasonErr != nil {
 		return nil, errors.Wrap(_rejectReasonErr, "Error parsing 'rejectReason' field of APDUReject")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDUSegmentAck.go b/plc4go/protocols/bacnetip/readwrite/model/APDUSegmentAck.go
index 564830c2a..edb060cf3 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDUSegmentAck.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDUSegmentAck.go
@@ -174,7 +174,11 @@ func (m *_APDUSegmentAck) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func APDUSegmentAckParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUSegmentAck, error) {
+func APDUSegmentAckParse(theBytes []byte, apduLength uint16) (APDUSegmentAck, error) {
+	return APDUSegmentAckParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), apduLength) // TODO: get endianness from mspec
+}
+
+func APDUSegmentAckParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint16) (APDUSegmentAck, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("APDUSegmentAck"); pullErr != nil {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDUSimpleAck.go b/plc4go/protocols/bacnetip/readwrite/model/APDUSimpleAck.go
index b35972716..8126a5aeb 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDUSimpleAck.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDUSimpleAck.go
@@ -141,7 +141,11 @@ func (m *_APDUSimpleAck) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func APDUSimpleAckParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUSimpleAck, error) {
+func APDUSimpleAckParse(theBytes []byte, apduLength uint16) (APDUSimpleAck, error) {
+	return APDUSimpleAckParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), apduLength) // TODO: get endianness from mspec
+}
+
+func APDUSimpleAckParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint16) (APDUSimpleAck, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("APDUSimpleAck"); pullErr != nil {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDUUnconfirmedRequest.go b/plc4go/protocols/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
index d71c0ef50..562942f52 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDUUnconfirmedRequest.go
@@ -130,7 +130,11 @@ func (m *_APDUUnconfirmedRequest) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func APDUUnconfirmedRequestParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUUnconfirmedRequest, error) {
+func APDUUnconfirmedRequestParse(theBytes []byte, apduLength uint16) (APDUUnconfirmedRequest, error) {
+	return APDUUnconfirmedRequestParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), apduLength) // TODO: get endianness from mspec
+}
+
+func APDUUnconfirmedRequestParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint16) (APDUUnconfirmedRequest, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("APDUUnconfirmedRequest"); pullErr != nil {
@@ -160,7 +164,7 @@ func APDUUnconfirmedRequestParse(readBuffer utils.ReadBuffer, apduLength uint16)
 	if pullErr := readBuffer.PullContext("serviceRequest"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for serviceRequest")
 	}
-	_serviceRequest, _serviceRequestErr := BACnetUnconfirmedServiceRequestParse(readBuffer, uint16(uint16(apduLength)-uint16(uint16(1))))
+	_serviceRequest, _serviceRequestErr := BACnetUnconfirmedServiceRequestParseWithBuffer(readBuffer, uint16(uint16(apduLength)-uint16(uint16(1))))
 	if _serviceRequestErr != nil {
 		return nil, errors.Wrap(_serviceRequestErr, "Error parsing 'serviceRequest' field of APDUUnconfirmedRequest")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/APDUUnknown.go b/plc4go/protocols/bacnetip/readwrite/model/APDUUnknown.go
index 97072f75f..1abaef423 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/APDUUnknown.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/APDUUnknown.go
@@ -138,7 +138,11 @@ func (m *_APDUUnknown) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func APDUUnknownParse(readBuffer utils.ReadBuffer, apduLength uint16) (APDUUnknown, error) {
+func APDUUnknownParse(theBytes []byte, apduLength uint16) (APDUUnknown, error) {
+	return APDUUnknownParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), apduLength) // TODO: get endianness from mspec
+}
+
+func APDUUnknownParseWithBuffer(readBuffer utils.ReadBuffer, apduLength uint16) (APDUUnknown, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("APDUUnknown"); pullErr != nil {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/ApduType.go b/plc4go/protocols/bacnetip/readwrite/model/ApduType.go
index e946d1deb..63d824118 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/ApduType.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/ApduType.go
@@ -181,7 +181,11 @@ func (m ApduType) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func ApduTypeParse(readBuffer utils.ReadBuffer) (ApduType, error) {
+func ApduTypeParse(theBytes []byte) (ApduType, error) {
+	return ApduTypeParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func ApduTypeParseWithBuffer(readBuffer utils.ReadBuffer) (ApduType, error) {
 	val, err := readBuffer.ReadUint8("ApduType", 4)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading ApduType")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAbortReason.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAbortReason.go
index e16aeba49..9705801c7 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAbortReason.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAbortReason.go
@@ -163,7 +163,11 @@ func (m BACnetAbortReason) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAbortReasonParse(readBuffer utils.ReadBuffer) (BACnetAbortReason, error) {
+func BACnetAbortReasonParse(theBytes []byte) (BACnetAbortReason, error) {
+	return BACnetAbortReasonParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAbortReasonParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAbortReason, error) {
 	val, err := readBuffer.ReadUint8("BACnetAbortReason", 8)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAbortReason")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAbortReasonTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAbortReasonTagged.go
index fe8edca3e..9db097c14 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAbortReasonTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAbortReasonTagged.go
@@ -128,7 +128,11 @@ func (m *_BACnetAbortReasonTagged) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAbortReasonTaggedParse(readBuffer utils.ReadBuffer, actualLength uint32) (BACnetAbortReasonTagged, error) {
+func BACnetAbortReasonTaggedParse(theBytes []byte, actualLength uint32) (BACnetAbortReasonTagged, error) {
+	return BACnetAbortReasonTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), actualLength) // TODO: get endianness from mspec
+}
+
+func BACnetAbortReasonTaggedParseWithBuffer(readBuffer utils.ReadBuffer, actualLength uint32) (BACnetAbortReasonTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAbortReasonTagged"); pullErr != nil {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisable.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisable.go
index 0da1ea999..1f230a584 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisable.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisable.go
@@ -127,7 +127,11 @@ func (m BACnetAccessAuthenticationFactorDisable) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessAuthenticationFactorDisableParse(readBuffer utils.ReadBuffer) (BACnetAccessAuthenticationFactorDisable, error) {
+func BACnetAccessAuthenticationFactorDisableParse(theBytes []byte) (BACnetAccessAuthenticationFactorDisable, error) {
+	return BACnetAccessAuthenticationFactorDisableParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessAuthenticationFactorDisableParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessAuthenticationFactorDisable, error) {
 	val, err := readBuffer.ReadUint16("BACnetAccessAuthenticationFactorDisable", 16)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAccessAuthenticationFactorDisable")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisableTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisableTagged.go
index e264613b2..8ff76ab00 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisableTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisableTagged.go
@@ -139,7 +139,11 @@ func (m *_BACnetAccessAuthenticationFactorDisableTagged) GetLengthInBytes() uint
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessAuthenticationFactorDisableTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessAuthenticationFactorDisableTagged, error) {
+func BACnetAccessAuthenticationFactorDisableTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetAccessAuthenticationFactorDisableTagged, error) {
+	return BACnetAccessAuthenticationFactorDisableTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetAccessAuthenticationFactorDisableTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessAuthenticationFactorDisableTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessAuthenticationFactorDisableTagged"); pullErr != nil {
@@ -152,7 +156,7 @@ func BACnetAccessAuthenticationFactorDisableTaggedParse(readBuffer utils.ReadBuf
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetAccessAuthenticationFactorDisableTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisable.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisable.go
index 77a8f5244..884fac033 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisable.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisable.go
@@ -115,7 +115,11 @@ func (m BACnetAccessCredentialDisable) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessCredentialDisableParse(readBuffer utils.ReadBuffer) (BACnetAccessCredentialDisable, error) {
+func BACnetAccessCredentialDisableParse(theBytes []byte) (BACnetAccessCredentialDisable, error) {
+	return BACnetAccessCredentialDisableParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessCredentialDisableParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessCredentialDisable, error) {
 	val, err := readBuffer.ReadUint16("BACnetAccessCredentialDisable", 16)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAccessCredentialDisable")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableReason.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableReason.go
index 1bb41e849..0a13c09b5 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableReason.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableReason.go
@@ -151,7 +151,11 @@ func (m BACnetAccessCredentialDisableReason) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessCredentialDisableReasonParse(readBuffer utils.ReadBuffer) (BACnetAccessCredentialDisableReason, error) {
+func BACnetAccessCredentialDisableReasonParse(theBytes []byte) (BACnetAccessCredentialDisableReason, error) {
+	return BACnetAccessCredentialDisableReasonParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessCredentialDisableReasonParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessCredentialDisableReason, error) {
 	val, err := readBuffer.ReadUint16("BACnetAccessCredentialDisableReason", 16)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAccessCredentialDisableReason")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableReasonTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableReasonTagged.go
index 7706a8e88..259b9d532 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableReasonTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableReasonTagged.go
@@ -139,7 +139,11 @@ func (m *_BACnetAccessCredentialDisableReasonTagged) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessCredentialDisableReasonTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessCredentialDisableReasonTagged, error) {
+func BACnetAccessCredentialDisableReasonTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetAccessCredentialDisableReasonTagged, error) {
+	return BACnetAccessCredentialDisableReasonTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetAccessCredentialDisableReasonTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessCredentialDisableReasonTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessCredentialDisableReasonTagged"); pullErr != nil {
@@ -152,7 +156,7 @@ func BACnetAccessCredentialDisableReasonTaggedParse(readBuffer utils.ReadBuffer,
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetAccessCredentialDisableReasonTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableTagged.go
index bb0155608..93a275432 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableTagged.go
@@ -139,7 +139,11 @@ func (m *_BACnetAccessCredentialDisableTagged) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessCredentialDisableTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessCredentialDisableTagged, error) {
+func BACnetAccessCredentialDisableTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetAccessCredentialDisableTagged, error) {
+	return BACnetAccessCredentialDisableTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetAccessCredentialDisableTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessCredentialDisableTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessCredentialDisableTagged"); pullErr != nil {
@@ -152,7 +156,7 @@ func BACnetAccessCredentialDisableTaggedParse(readBuffer utils.ReadBuffer, tagNu
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetAccessCredentialDisableTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessEvent.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessEvent.go
index 7b8c997f3..64c7fdcc6 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessEvent.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessEvent.go
@@ -415,7 +415,11 @@ func (m BACnetAccessEvent) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessEventParse(readBuffer utils.ReadBuffer) (BACnetAccessEvent, error) {
+func BACnetAccessEventParse(theBytes []byte) (BACnetAccessEvent, error) {
+	return BACnetAccessEventParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessEventParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessEvent, error) {
 	val, err := readBuffer.ReadUint16("BACnetAccessEvent", 16)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAccessEvent")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessEventTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessEventTagged.go
index 1fa5bdead..baab5977b 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessEventTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessEventTagged.go
@@ -139,7 +139,11 @@ func (m *_BACnetAccessEventTagged) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessEventTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessEventTagged, error) {
+func BACnetAccessEventTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetAccessEventTagged, error) {
+	return BACnetAccessEventTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetAccessEventTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessEventTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessEventTagged"); pullErr != nil {
@@ -152,7 +156,7 @@ func BACnetAccessEventTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8,
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetAccessEventTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessPassbackMode.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessPassbackMode.go
index 7b9bf8dc1..84e37331f 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessPassbackMode.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessPassbackMode.go
@@ -103,7 +103,11 @@ func (m BACnetAccessPassbackMode) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessPassbackModeParse(readBuffer utils.ReadBuffer) (BACnetAccessPassbackMode, error) {
+func BACnetAccessPassbackModeParse(theBytes []byte) (BACnetAccessPassbackMode, error) {
+	return BACnetAccessPassbackModeParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessPassbackModeParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessPassbackMode, error) {
 	val, err := readBuffer.ReadUint8("BACnetAccessPassbackMode", 8)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAccessPassbackMode")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessPassbackModeTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessPassbackModeTagged.go
index c77527679..d0338907c 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessPassbackModeTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessPassbackModeTagged.go
@@ -112,7 +112,11 @@ func (m *_BACnetAccessPassbackModeTagged) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessPassbackModeTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessPassbackModeTagged, error) {
+func BACnetAccessPassbackModeTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetAccessPassbackModeTagged, error) {
+	return BACnetAccessPassbackModeTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetAccessPassbackModeTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessPassbackModeTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessPassbackModeTagged"); pullErr != nil {
@@ -125,7 +129,7 @@ func BACnetAccessPassbackModeTaggedParse(readBuffer utils.ReadBuffer, tagNumber
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetAccessPassbackModeTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRule.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRule.go
index 38c1a3bdb..7dc2bbfc5 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRule.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRule.go
@@ -143,7 +143,11 @@ func (m *_BACnetAccessRule) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessRuleParse(readBuffer utils.ReadBuffer) (BACnetAccessRule, error) {
+func BACnetAccessRuleParse(theBytes []byte) (BACnetAccessRule, error) {
+	return BACnetAccessRuleParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessRuleParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessRule, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessRule"); pullErr != nil {
@@ -156,7 +160,7 @@ func BACnetAccessRuleParse(readBuffer utils.ReadBuffer) (BACnetAccessRule, error
 	if pullErr := readBuffer.PullContext("timeRangeSpecifier"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for timeRangeSpecifier")
 	}
-	_timeRangeSpecifier, _timeRangeSpecifierErr := BACnetAccessRuleTimeRangeSpecifierTaggedParse(readBuffer, uint8(uint8(0)), TagClass(TagClass_CONTEXT_SPECIFIC_TAGS))
+	_timeRangeSpecifier, _timeRangeSpecifierErr := BACnetAccessRuleTimeRangeSpecifierTaggedParseWithBuffer(readBuffer, uint8(uint8(0)), TagClass(TagClass_CONTEXT_SPECIFIC_TAGS))
 	if _timeRangeSpecifierErr != nil {
 		return nil, errors.Wrap(_timeRangeSpecifierErr, "Error parsing 'timeRangeSpecifier' field of BACnetAccessRule")
 	}
@@ -172,7 +176,7 @@ func BACnetAccessRuleParse(readBuffer utils.ReadBuffer) (BACnetAccessRule, error
 		if pullErr := readBuffer.PullContext("timeRange"); pullErr != nil {
 			return nil, errors.Wrap(pullErr, "Error pulling for timeRange")
 		}
-		_val, _err := BACnetDeviceObjectPropertyReferenceEnclosedParse(readBuffer, uint8(1))
+		_val, _err := BACnetDeviceObjectPropertyReferenceEnclosedParseWithBuffer(readBuffer, uint8(1))
 		switch {
 		case errors.Is(_err, utils.ParseAssertError{}) || errors.Is(_err, io.EOF):
 			Plc4xModelLog.Debug().Err(_err).Msg("Resetting position because optional threw an error")
@@ -191,7 +195,7 @@ func BACnetAccessRuleParse(readBuffer utils.ReadBuffer) (BACnetAccessRule, error
 	if pullErr := readBuffer.PullContext("locationSpecifier"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for locationSpecifier")
 	}
-	_locationSpecifier, _locationSpecifierErr := BACnetAccessRuleLocationSpecifierTaggedParse(readBuffer, uint8(uint8(2)), TagClass(TagClass_CONTEXT_SPECIFIC_TAGS))
+	_locationSpecifier, _locationSpecifierErr := BACnetAccessRuleLocationSpecifierTaggedParseWithBuffer(readBuffer, uint8(uint8(2)), TagClass(TagClass_CONTEXT_SPECIFIC_TAGS))
 	if _locationSpecifierErr != nil {
 		return nil, errors.Wrap(_locationSpecifierErr, "Error parsing 'locationSpecifier' field of BACnetAccessRule")
 	}
@@ -207,7 +211,7 @@ func BACnetAccessRuleParse(readBuffer utils.ReadBuffer) (BACnetAccessRule, error
 		if pullErr := readBuffer.PullContext("location"); pullErr != nil {
 			return nil, errors.Wrap(pullErr, "Error pulling for location")
 		}
-		_val, _err := BACnetDeviceObjectReferenceEnclosedParse(readBuffer, uint8(3))
+		_val, _err := BACnetDeviceObjectReferenceEnclosedParseWithBuffer(readBuffer, uint8(3))
 		switch {
 		case errors.Is(_err, utils.ParseAssertError{}) || errors.Is(_err, io.EOF):
 			Plc4xModelLog.Debug().Err(_err).Msg("Resetting position because optional threw an error")
@@ -226,7 +230,7 @@ func BACnetAccessRuleParse(readBuffer utils.ReadBuffer) (BACnetAccessRule, error
 	if pullErr := readBuffer.PullContext("enable"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for enable")
 	}
-	_enable, _enableErr := BACnetContextTagParse(readBuffer, uint8(uint8(4)), BACnetDataType(BACnetDataType_BOOLEAN))
+	_enable, _enableErr := BACnetContextTagParseWithBuffer(readBuffer, uint8(uint8(4)), BACnetDataType(BACnetDataType_BOOLEAN))
 	if _enableErr != nil {
 		return nil, errors.Wrap(_enableErr, "Error parsing 'enable' field of BACnetAccessRule")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleLocationSpecifier.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleLocationSpecifier.go
index 12509fd17..a6534356d 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleLocationSpecifier.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleLocationSpecifier.go
@@ -97,7 +97,11 @@ func (m BACnetAccessRuleLocationSpecifier) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessRuleLocationSpecifierParse(readBuffer utils.ReadBuffer) (BACnetAccessRuleLocationSpecifier, error) {
+func BACnetAccessRuleLocationSpecifierParse(theBytes []byte) (BACnetAccessRuleLocationSpecifier, error) {
+	return BACnetAccessRuleLocationSpecifierParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessRuleLocationSpecifierParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessRuleLocationSpecifier, error) {
 	val, err := readBuffer.ReadUint8("BACnetAccessRuleLocationSpecifier", 8)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAccessRuleLocationSpecifier")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleLocationSpecifierTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleLocationSpecifierTagged.go
index a787f63b1..c64c61e7c 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleLocationSpecifierTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleLocationSpecifierTagged.go
@@ -112,7 +112,11 @@ func (m *_BACnetAccessRuleLocationSpecifierTagged) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessRuleLocationSpecifierTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessRuleLocationSpecifierTagged, error) {
+func BACnetAccessRuleLocationSpecifierTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetAccessRuleLocationSpecifierTagged, error) {
+	return BACnetAccessRuleLocationSpecifierTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetAccessRuleLocationSpecifierTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessRuleLocationSpecifierTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessRuleLocationSpecifierTagged"); pullErr != nil {
@@ -125,7 +129,7 @@ func BACnetAccessRuleLocationSpecifierTaggedParse(readBuffer utils.ReadBuffer, t
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetAccessRuleLocationSpecifierTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleTimeRangeSpecifier.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleTimeRangeSpecifier.go
index d191407d6..2df9caf44 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleTimeRangeSpecifier.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleTimeRangeSpecifier.go
@@ -97,7 +97,11 @@ func (m BACnetAccessRuleTimeRangeSpecifier) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessRuleTimeRangeSpecifierParse(readBuffer utils.ReadBuffer) (BACnetAccessRuleTimeRangeSpecifier, error) {
+func BACnetAccessRuleTimeRangeSpecifierParse(theBytes []byte) (BACnetAccessRuleTimeRangeSpecifier, error) {
+	return BACnetAccessRuleTimeRangeSpecifierParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessRuleTimeRangeSpecifierParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessRuleTimeRangeSpecifier, error) {
 	val, err := readBuffer.ReadUint8("BACnetAccessRuleTimeRangeSpecifier", 8)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAccessRuleTimeRangeSpecifier")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleTimeRangeSpecifierTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleTimeRangeSpecifierTagged.go
index 690679c58..5e5ce45d8 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleTimeRangeSpecifierTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessRuleTimeRangeSpecifierTagged.go
@@ -112,7 +112,11 @@ func (m *_BACnetAccessRuleTimeRangeSpecifierTagged) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessRuleTimeRangeSpecifierTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessRuleTimeRangeSpecifierTagged, error) {
+func BACnetAccessRuleTimeRangeSpecifierTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetAccessRuleTimeRangeSpecifierTagged, error) {
+	return BACnetAccessRuleTimeRangeSpecifierTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetAccessRuleTimeRangeSpecifierTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessRuleTimeRangeSpecifierTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessRuleTimeRangeSpecifierTagged"); pullErr != nil {
@@ -125,7 +129,7 @@ func BACnetAccessRuleTimeRangeSpecifierTaggedParse(readBuffer utils.ReadBuffer,
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetAccessRuleTimeRangeSpecifierTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessThreatLevel.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessThreatLevel.go
index e83fe0d31..35d75a13c 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessThreatLevel.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessThreatLevel.go
@@ -98,7 +98,11 @@ func (m *_BACnetAccessThreatLevel) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessThreatLevelParse(readBuffer utils.ReadBuffer) (BACnetAccessThreatLevel, error) {
+func BACnetAccessThreatLevelParse(theBytes []byte) (BACnetAccessThreatLevel, error) {
+	return BACnetAccessThreatLevelParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessThreatLevelParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessThreatLevel, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessThreatLevel"); pullErr != nil {
@@ -111,7 +115,7 @@ func BACnetAccessThreatLevelParse(readBuffer utils.ReadBuffer) (BACnetAccessThre
 	if pullErr := readBuffer.PullContext("threatLevel"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for threatLevel")
 	}
-	_threatLevel, _threatLevelErr := BACnetApplicationTagParse(readBuffer)
+	_threatLevel, _threatLevelErr := BACnetApplicationTagParseWithBuffer(readBuffer)
 	if _threatLevelErr != nil {
 		return nil, errors.Wrap(_threatLevelErr, "Error parsing 'threatLevel' field of BACnetAccessThreatLevel")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessUserType.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessUserType.go
index 9948ff832..c571951cc 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessUserType.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessUserType.go
@@ -109,7 +109,11 @@ func (m BACnetAccessUserType) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessUserTypeParse(readBuffer utils.ReadBuffer) (BACnetAccessUserType, error) {
+func BACnetAccessUserTypeParse(theBytes []byte) (BACnetAccessUserType, error) {
+	return BACnetAccessUserTypeParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessUserTypeParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessUserType, error) {
 	val, err := readBuffer.ReadUint16("BACnetAccessUserType", 16)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAccessUserType")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessUserTypeTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessUserTypeTagged.go
index b3b0df84c..b6032c900 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessUserTypeTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessUserTypeTagged.go
@@ -139,7 +139,11 @@ func (m *_BACnetAccessUserTypeTagged) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessUserTypeTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessUserTypeTagged, error) {
+func BACnetAccessUserTypeTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetAccessUserTypeTagged, error) {
+	return BACnetAccessUserTypeTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetAccessUserTypeTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessUserTypeTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessUserTypeTagged"); pullErr != nil {
@@ -152,7 +156,7 @@ func BACnetAccessUserTypeTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetAccessUserTypeTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessZoneOccupancyState.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessZoneOccupancyState.go
index 0c61d8154..e4e920332 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessZoneOccupancyState.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessZoneOccupancyState.go
@@ -133,7 +133,11 @@ func (m BACnetAccessZoneOccupancyState) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessZoneOccupancyStateParse(readBuffer utils.ReadBuffer) (BACnetAccessZoneOccupancyState, error) {
+func BACnetAccessZoneOccupancyStateParse(theBytes []byte) (BACnetAccessZoneOccupancyState, error) {
+	return BACnetAccessZoneOccupancyStateParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccessZoneOccupancyStateParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccessZoneOccupancyState, error) {
 	val, err := readBuffer.ReadUint16("BACnetAccessZoneOccupancyState", 16)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAccessZoneOccupancyState")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessZoneOccupancyStateTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessZoneOccupancyStateTagged.go
index 1123e4fa3..b951362bd 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessZoneOccupancyStateTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccessZoneOccupancyStateTagged.go
@@ -139,7 +139,11 @@ func (m *_BACnetAccessZoneOccupancyStateTagged) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccessZoneOccupancyStateTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessZoneOccupancyStateTagged, error) {
+func BACnetAccessZoneOccupancyStateTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetAccessZoneOccupancyStateTagged, error) {
+	return BACnetAccessZoneOccupancyStateTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetAccessZoneOccupancyStateTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccessZoneOccupancyStateTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccessZoneOccupancyStateTagged"); pullErr != nil {
@@ -152,7 +156,7 @@ func BACnetAccessZoneOccupancyStateTaggedParse(readBuffer utils.ReadBuffer, tagN
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetAccessZoneOccupancyStateTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecord.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecord.go
index 8f11998e2..4be06fb7d 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecord.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecord.go
@@ -128,7 +128,11 @@ func (m *_BACnetAccumulatorRecord) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccumulatorRecordParse(readBuffer utils.ReadBuffer) (BACnetAccumulatorRecord, error) {
+func BACnetAccumulatorRecordParse(theBytes []byte) (BACnetAccumulatorRecord, error) {
+	return BACnetAccumulatorRecordParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccumulatorRecordParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccumulatorRecord, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccumulatorRecord"); pullErr != nil {
@@ -141,7 +145,7 @@ func BACnetAccumulatorRecordParse(readBuffer utils.ReadBuffer) (BACnetAccumulato
 	if pullErr := readBuffer.PullContext("timestamp"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for timestamp")
 	}
-	_timestamp, _timestampErr := BACnetDateTimeEnclosedParse(readBuffer, uint8(uint8(0)))
+	_timestamp, _timestampErr := BACnetDateTimeEnclosedParseWithBuffer(readBuffer, uint8(uint8(0)))
 	if _timestampErr != nil {
 		return nil, errors.Wrap(_timestampErr, "Error parsing 'timestamp' field of BACnetAccumulatorRecord")
 	}
@@ -154,7 +158,7 @@ func BACnetAccumulatorRecordParse(readBuffer utils.ReadBuffer) (BACnetAccumulato
 	if pullErr := readBuffer.PullContext("presentValue"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for presentValue")
 	}
-	_presentValue, _presentValueErr := BACnetContextTagParse(readBuffer, uint8(uint8(1)), BACnetDataType(BACnetDataType_SIGNED_INTEGER))
+	_presentValue, _presentValueErr := BACnetContextTagParseWithBuffer(readBuffer, uint8(uint8(1)), BACnetDataType(BACnetDataType_SIGNED_INTEGER))
 	if _presentValueErr != nil {
 		return nil, errors.Wrap(_presentValueErr, "Error parsing 'presentValue' field of BACnetAccumulatorRecord")
 	}
@@ -167,7 +171,7 @@ func BACnetAccumulatorRecordParse(readBuffer utils.ReadBuffer) (BACnetAccumulato
 	if pullErr := readBuffer.PullContext("accumulatedValue"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for accumulatedValue")
 	}
-	_accumulatedValue, _accumulatedValueErr := BACnetContextTagParse(readBuffer, uint8(uint8(2)), BACnetDataType(BACnetDataType_SIGNED_INTEGER))
+	_accumulatedValue, _accumulatedValueErr := BACnetContextTagParseWithBuffer(readBuffer, uint8(uint8(2)), BACnetDataType(BACnetDataType_SIGNED_INTEGER))
 	if _accumulatedValueErr != nil {
 		return nil, errors.Wrap(_accumulatedValueErr, "Error parsing 'accumulatedValue' field of BACnetAccumulatorRecord")
 	}
@@ -180,7 +184,7 @@ func BACnetAccumulatorRecordParse(readBuffer utils.ReadBuffer) (BACnetAccumulato
 	if pullErr := readBuffer.PullContext("accumulatorStatus"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for accumulatorStatus")
 	}
-	_accumulatorStatus, _accumulatorStatusErr := BACnetAccumulatorRecordAccumulatorStatusTaggedParse(readBuffer, uint8(uint8(3)), TagClass(TagClass_CONTEXT_SPECIFIC_TAGS))
+	_accumulatorStatus, _accumulatorStatusErr := BACnetAccumulatorRecordAccumulatorStatusTaggedParseWithBuffer(readBuffer, uint8(uint8(3)), TagClass(TagClass_CONTEXT_SPECIFIC_TAGS))
 	if _accumulatorStatusErr != nil {
 		return nil, errors.Wrap(_accumulatorStatusErr, "Error parsing 'accumulatorStatus' field of BACnetAccumulatorRecord")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecordAccumulatorStatus.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecordAccumulatorStatus.go
index dfbe0c08c..9f4d9dbb3 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecordAccumulatorStatus.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecordAccumulatorStatus.go
@@ -115,7 +115,11 @@ func (m BACnetAccumulatorRecordAccumulatorStatus) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccumulatorRecordAccumulatorStatusParse(readBuffer utils.ReadBuffer) (BACnetAccumulatorRecordAccumulatorStatus, error) {
+func BACnetAccumulatorRecordAccumulatorStatusParse(theBytes []byte) (BACnetAccumulatorRecordAccumulatorStatus, error) {
+	return BACnetAccumulatorRecordAccumulatorStatusParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAccumulatorRecordAccumulatorStatusParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAccumulatorRecordAccumulatorStatus, error) {
 	val, err := readBuffer.ReadUint8("BACnetAccumulatorRecordAccumulatorStatus", 8)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAccumulatorRecordAccumulatorStatus")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecordAccumulatorStatusTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecordAccumulatorStatusTagged.go
index 9321c435f..35c838ebd 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecordAccumulatorStatusTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAccumulatorRecordAccumulatorStatusTagged.go
@@ -112,7 +112,11 @@ func (m *_BACnetAccumulatorRecordAccumulatorStatusTagged) GetLengthInBytes() uin
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAccumulatorRecordAccumulatorStatusTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccumulatorRecordAccumulatorStatusTagged, error) {
+func BACnetAccumulatorRecordAccumulatorStatusTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetAccumulatorRecordAccumulatorStatusTagged, error) {
+	return BACnetAccumulatorRecordAccumulatorStatusTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetAccumulatorRecordAccumulatorStatusTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetAccumulatorRecordAccumulatorStatusTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAccumulatorRecordAccumulatorStatusTagged"); pullErr != nil {
@@ -125,7 +129,7 @@ func BACnetAccumulatorRecordAccumulatorStatusTaggedParse(readBuffer utils.ReadBu
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetAccumulatorRecordAccumulatorStatusTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAction.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAction.go
index 4df7520c0..7c3a9e1c6 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAction.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAction.go
@@ -97,7 +97,11 @@ func (m BACnetAction) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetActionParse(readBuffer utils.ReadBuffer) (BACnetAction, error) {
+func BACnetActionParse(theBytes []byte) (BACnetAction, error) {
+	return BACnetActionParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetActionParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAction, error) {
 	val, err := readBuffer.ReadUint8("BACnetAction", 8)
 	if err != nil {
 		return 0, errors.Wrap(err, "error reading BACnetAction")
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetActionCommand.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetActionCommand.go
index f390b9b67..1d4f6f387 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetActionCommand.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetActionCommand.go
@@ -189,7 +189,11 @@ func (m *_BACnetActionCommand) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetActionCommandParse(readBuffer utils.ReadBuffer) (BACnetActionCommand, error) {
+func BACnetActionCommandParse(theBytes []byte) (BACnetActionCommand, error) {
+	return BACnetActionCommandParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetActionCommandParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetActionCommand, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetActionCommand"); pullErr != nil {
@@ -205,7 +209,7 @@ func BACnetActionCommandParse(readBuffer utils.ReadBuffer) (BACnetActionCommand,
 		if pullErr := readBuffer.PullContext("deviceIdentifier"); pullErr != nil {
 			return nil, errors.Wrap(pullErr, "Error pulling for deviceIdentifier")
 		}
-		_val, _err := BACnetContextTagParse(readBuffer, uint8(0), BACnetDataType_BACNET_OBJECT_IDENTIFIER)
+		_val, _err := BACnetContextTagParseWithBuffer(readBuffer, uint8(0), BACnetDataType_BACNET_OBJECT_IDENTIFIER)
 		switch {
 		case errors.Is(_err, utils.ParseAssertError{}) || errors.Is(_err, io.EOF):
 			Plc4xModelLog.Debug().Err(_err).Msg("Resetting position because optional threw an error")
@@ -224,7 +228,7 @@ func BACnetActionCommandParse(readBuffer utils.ReadBuffer) (BACnetActionCommand,
 	if pullErr := readBuffer.PullContext("objectIdentifier"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for objectIdentifier")
 	}
-	_objectIdentifier, _objectIdentifierErr := BACnetContextTagParse(readBuffer, uint8(uint8(1)), BACnetDataType(BACnetDataType_BACNET_OBJECT_IDENTIFIER))
+	_objectIdentifier, _objectIdentifierErr := BACnetContextTagParseWithBuffer(readBuffer, uint8(uint8(1)), BACnetDataType(BACnetDataType_BACNET_OBJECT_IDENTIFIER))
 	if _objectIdentifierErr != nil {
 		return nil, errors.Wrap(_objectIdentifierErr, "Error parsing 'objectIdentifier' field of BACnetActionCommand")
 	}
@@ -237,7 +241,7 @@ func BACnetActionCommandParse(readBuffer utils.ReadBuffer) (BACnetActionCommand,
 	if pullErr := readBuffer.PullContext("propertyIdentifier"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for propertyIdentifier")
 	}
-	_propertyIdentifier, _propertyIdentifierErr := BACnetPropertyIdentifierTaggedParse(readBuffer, uint8(uint8(2)), TagClass(TagClass_CONTEXT_SPECIFIC_TAGS))
+	_propertyIdentifier, _propertyIdentifierErr := BACnetPropertyIdentifierTaggedParseWithBuffer(readBuffer, uint8(uint8(2)), TagClass(TagClass_CONTEXT_SPECIFIC_TAGS))
 	if _propertyIdentifierErr != nil {
 		return nil, errors.Wrap(_propertyIdentifierErr, "Error parsing 'propertyIdentifier' field of BACnetActionCommand")
 	}
@@ -253,7 +257,7 @@ func BACnetActionCommandParse(readBuffer utils.ReadBuffer) (BACnetActionCommand,
 		if pullErr := readBuffer.PullContext("arrayIndex"); pullErr != nil {
 			return nil, errors.Wrap(pullErr, "Error pulling for arrayIndex")
 		}
-		_val, _err := BACnetContextTagParse(readBuffer, uint8(3), BACnetDataType_UNSIGNED_INTEGER)
+		_val, _err := BACnetContextTagParseWithBuffer(readBuffer, uint8(3), BACnetDataType_UNSIGNED_INTEGER)
 		switch {
 		case errors.Is(_err, utils.ParseAssertError{}) || errors.Is(_err, io.EOF):
 			Plc4xModelLog.Debug().Err(_err).Msg("Resetting position because optional threw an error")
@@ -275,7 +279,7 @@ func BACnetActionCommandParse(readBuffer utils.ReadBuffer) (BACnetActionCommand,
 		if pullErr := readBuffer.PullContext("propertyValue"); pullErr != nil {
 			return nil, errors.Wrap(pullErr, "Error pulling for propertyValue")
 		}
-		_val, _err := BACnetConstructedDataParse(readBuffer, uint8(4), objectIdentifier.GetObjectType(), propertyIdentifier.GetValue(), (CastBACnetTagPayloadUnsignedInteger(utils.InlineIf(bool((arrayIndex) != (nil)), func() interface{} { return CastBACnetTagPayloadUnsignedInteger((arrayIndex).GetPayload()) }, func() interface{} { return CastBACnetTagPayloadUnsignedInteger(nil) }))))
+		_val, _err := BACnetConstructedDataParseWithBuffer(readBuffer, uint8(4), objectIdentifier.GetObjectType(), propertyIdentifier.GetValue(), (CastBACnetTagPayloadUnsignedInteger(utils.InlineIf(bool((arrayIndex) != (nil)), func() interface{} { return CastBACnetTagPayloadUnsignedInteger((arrayIndex).GetPayload()) }, func() interface{} { return CastBACnetTagPayloadUnsignedInteger(nil) }))))
 		switch {
 		case errors.Is(_err, utils.ParseAssertError{}) || errors.Is(_err, io.EOF):
 			Plc4xModelLog.Debug().Err(_err).Msg("Resetting position because optional threw an error")
@@ -297,7 +301,7 @@ func BACnetActionCommandParse(readBuffer utils.ReadBuffer) (BACnetActionCommand,
 		if pullErr := readBuffer.PullContext("priority"); pullErr != nil {
 			return nil, errors.Wrap(pullErr, "Error pulling for priority")
 		}
-		_val, _err := BACnetContextTagParse(readBuffer, uint8(5), BACnetDataType_UNSIGNED_INTEGER)
+		_val, _err := BACnetContextTagParseWithBuffer(readBuffer, uint8(5), BACnetDataType_UNSIGNED_INTEGER)
 		switch {
 		case errors.Is(_err, utils.ParseAssertError{}) || errors.Is(_err, io.EOF):
 			Plc4xModelLog.Debug().Err(_err).Msg("Resetting position because optional threw an error")
@@ -319,7 +323,7 @@ func BACnetActionCommandParse(readBuffer utils.ReadBuffer) (BACnetActionCommand,
 		if pullErr := readBuffer.PullContext("postDelay"); pullErr != nil {
 			return nil, errors.Wrap(pullErr, "Error pulling for postDelay")
 		}
-		_val, _err := BACnetContextTagParse(readBuffer, uint8(6), BACnetDataType_BOOLEAN)
+		_val, _err := BACnetContextTagParseWithBuffer(readBuffer, uint8(6), BACnetDataType_BOOLEAN)
 		switch {
 		case errors.Is(_err, utils.ParseAssertError{}) || errors.Is(_err, io.EOF):
 			Plc4xModelLog.Debug().Err(_err).Msg("Resetting position because optional threw an error")
@@ -338,7 +342,7 @@ func BACnetActionCommandParse(readBuffer utils.ReadBuffer) (BACnetActionCommand,
 	if pullErr := readBuffer.PullContext("quitOnFailure"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for quitOnFailure")
 	}
-	_quitOnFailure, _quitOnFailureErr := BACnetContextTagParse(readBuffer, uint8(uint8(7)), BACnetDataType(BACnetDataType_BOOLEAN))
+	_quitOnFailure, _quitOnFailureErr := BACnetContextTagParseWithBuffer(readBuffer, uint8(uint8(7)), BACnetDataType(BACnetDataType_BOOLEAN))
 	if _quitOnFailureErr != nil {
 		return nil, errors.Wrap(_quitOnFailureErr, "Error parsing 'quitOnFailure' field of BACnetActionCommand")
 	}
@@ -351,7 +355,7 @@ func BACnetActionCommandParse(readBuffer utils.ReadBuffer) (BACnetActionCommand,
 	if pullErr := readBuffer.PullContext("writeSuccessful"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for writeSuccessful")
 	}
-	_writeSuccessful, _writeSuccessfulErr := BACnetContextTagParse(readBuffer, uint8(uint8(8)), BACnetDataType(BACnetDataType_BOOLEAN))
+	_writeSuccessful, _writeSuccessfulErr := BACnetContextTagParseWithBuffer(readBuffer, uint8(uint8(8)), BACnetDataType(BACnetDataType_BOOLEAN))
 	if _writeSuccessfulErr != nil {
 		return nil, errors.Wrap(_writeSuccessfulErr, "Error parsing 'writeSuccessful' field of BACnetActionCommand")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetActionList.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetActionList.go
index 59747ecde..6ae8cade1 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetActionList.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetActionList.go
@@ -122,7 +122,11 @@ func (m *_BACnetActionList) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetActionListParse(readBuffer utils.ReadBuffer) (BACnetActionList, error) {
+func BACnetActionListParse(theBytes []byte) (BACnetActionList, error) {
+	return BACnetActionListParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetActionListParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetActionList, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetActionList"); pullErr != nil {
@@ -135,7 +139,7 @@ func BACnetActionListParse(readBuffer utils.ReadBuffer) (BACnetActionList, error
 	if pullErr := readBuffer.PullContext("innerOpeningTag"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for innerOpeningTag")
 	}
-	_innerOpeningTag, _innerOpeningTagErr := BACnetOpeningTagParse(readBuffer, uint8(uint8(0)))
+	_innerOpeningTag, _innerOpeningTagErr := BACnetOpeningTagParseWithBuffer(readBuffer, uint8(uint8(0)))
 	if _innerOpeningTagErr != nil {
 		return nil, errors.Wrap(_innerOpeningTagErr, "Error parsing 'innerOpeningTag' field of BACnetActionList")
 	}
@@ -152,7 +156,7 @@ func BACnetActionListParse(readBuffer utils.ReadBuffer) (BACnetActionList, error
 	var action []BACnetActionCommand
 	{
 		for !bool(IsBACnetConstructedDataClosingTag(readBuffer, false, 0)) {
-			_item, _err := BACnetActionCommandParse(readBuffer)
+			_item, _err := BACnetActionCommandParseWithBuffer(readBuffer)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'action' field of BACnetActionList")
 			}
@@ -168,7 +172,7 @@ func BACnetActionListParse(readBuffer utils.ReadBuffer) (BACnetActionList, error
 	if pullErr := readBuffer.PullContext("innerClosingTag"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for innerClosingTag")
 	}
-	_innerClosingTag, _innerClosingTagErr := BACnetClosingTagParse(readBuffer, uint8(uint8(0)))
+	_innerClosingTag, _innerClosingTagErr := BACnetClosingTagParseWithBuffer(readBuffer, uint8(uint8(0)))
 	if _innerClosingTagErr != nil {
 		return nil, errors.Wrap(_innerClosingTagErr, "Error parsing 'innerClosingTag' field of BACnetActionList")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetActionTagged.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetActionTagged.go
index 070355828..578c64637 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetActionTagged.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetActionTagged.go
@@ -112,7 +112,11 @@ func (m *_BACnetActionTagged) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetActionTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetActionTagged, error) {
+func BACnetActionTaggedParse(theBytes []byte, tagNumber uint8, tagClass TagClass) (BACnetActionTagged, error) {
+	return BACnetActionTaggedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber, tagClass) // TODO: get endianness from mspec
+}
+
+func BACnetActionTaggedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8, tagClass TagClass) (BACnetActionTagged, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetActionTagged"); pullErr != nil {
@@ -125,7 +129,7 @@ func BACnetActionTaggedParse(readBuffer utils.ReadBuffer, tagNumber uint8, tagCl
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetActionTagged")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAddress.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAddress.go
index 21585d68e..d6fc31b74 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAddress.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAddress.go
@@ -141,7 +141,11 @@ func (m *_BACnetAddress) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAddressParse(readBuffer utils.ReadBuffer) (BACnetAddress, error) {
+func BACnetAddressParse(theBytes []byte) (BACnetAddress, error) {
+	return BACnetAddressParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAddressParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAddress, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAddress"); pullErr != nil {
@@ -154,7 +158,7 @@ func BACnetAddressParse(readBuffer utils.ReadBuffer) (BACnetAddress, error) {
 	if pullErr := readBuffer.PullContext("networkNumber"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for networkNumber")
 	}
-	_networkNumber, _networkNumberErr := BACnetApplicationTagParse(readBuffer)
+	_networkNumber, _networkNumberErr := BACnetApplicationTagParseWithBuffer(readBuffer)
 	if _networkNumberErr != nil {
 		return nil, errors.Wrap(_networkNumberErr, "Error parsing 'networkNumber' field of BACnetAddress")
 	}
@@ -177,7 +181,7 @@ func BACnetAddressParse(readBuffer utils.ReadBuffer) (BACnetAddress, error) {
 	if pullErr := readBuffer.PullContext("macAddress"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for macAddress")
 	}
-	_macAddress, _macAddressErr := BACnetApplicationTagParse(readBuffer)
+	_macAddress, _macAddressErr := BACnetApplicationTagParseWithBuffer(readBuffer)
 	if _macAddressErr != nil {
 		return nil, errors.Wrap(_macAddressErr, "Error parsing 'macAddress' field of BACnetAddress")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAddressBinding.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAddressBinding.go
index bfec3c3b2..a281147d5 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAddressBinding.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAddressBinding.go
@@ -108,7 +108,11 @@ func (m *_BACnetAddressBinding) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAddressBindingParse(readBuffer utils.ReadBuffer) (BACnetAddressBinding, error) {
+func BACnetAddressBindingParse(theBytes []byte) (BACnetAddressBinding, error) {
+	return BACnetAddressBindingParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAddressBindingParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAddressBinding, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAddressBinding"); pullErr != nil {
@@ -121,7 +125,7 @@ func BACnetAddressBindingParse(readBuffer utils.ReadBuffer) (BACnetAddressBindin
 	if pullErr := readBuffer.PullContext("deviceIdentifier"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for deviceIdentifier")
 	}
-	_deviceIdentifier, _deviceIdentifierErr := BACnetApplicationTagParse(readBuffer)
+	_deviceIdentifier, _deviceIdentifierErr := BACnetApplicationTagParseWithBuffer(readBuffer)
 	if _deviceIdentifierErr != nil {
 		return nil, errors.Wrap(_deviceIdentifierErr, "Error parsing 'deviceIdentifier' field of BACnetAddressBinding")
 	}
@@ -134,7 +138,7 @@ func BACnetAddressBindingParse(readBuffer utils.ReadBuffer) (BACnetAddressBindin
 	if pullErr := readBuffer.PullContext("deviceAddress"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for deviceAddress")
 	}
-	_deviceAddress, _deviceAddressErr := BACnetAddressParse(readBuffer)
+	_deviceAddress, _deviceAddressErr := BACnetAddressParseWithBuffer(readBuffer)
 	if _deviceAddressErr != nil {
 		return nil, errors.Wrap(_deviceAddressErr, "Error parsing 'deviceAddress' field of BACnetAddressBinding")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAddressEnclosed.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAddressEnclosed.go
index 238ae3262..d6c390394 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAddressEnclosed.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAddressEnclosed.go
@@ -121,7 +121,11 @@ func (m *_BACnetAddressEnclosed) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAddressEnclosedParse(readBuffer utils.ReadBuffer, tagNumber uint8) (BACnetAddressEnclosed, error) {
+func BACnetAddressEnclosedParse(theBytes []byte, tagNumber uint8) (BACnetAddressEnclosed, error) {
+	return BACnetAddressEnclosedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber) // TODO: get endianness from mspec
+}
+
+func BACnetAddressEnclosedParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8) (BACnetAddressEnclosed, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAddressEnclosed"); pullErr != nil {
@@ -134,7 +138,7 @@ func BACnetAddressEnclosedParse(readBuffer utils.ReadBuffer, tagNumber uint8) (B
 	if pullErr := readBuffer.PullContext("openingTag"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for openingTag")
 	}
-	_openingTag, _openingTagErr := BACnetOpeningTagParse(readBuffer, uint8(tagNumber))
+	_openingTag, _openingTagErr := BACnetOpeningTagParseWithBuffer(readBuffer, uint8(tagNumber))
 	if _openingTagErr != nil {
 		return nil, errors.Wrap(_openingTagErr, "Error parsing 'openingTag' field of BACnetAddressEnclosed")
 	}
@@ -147,7 +151,7 @@ func BACnetAddressEnclosedParse(readBuffer utils.ReadBuffer, tagNumber uint8) (B
 	if pullErr := readBuffer.PullContext("address"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for address")
 	}
-	_address, _addressErr := BACnetAddressParse(readBuffer)
+	_address, _addressErr := BACnetAddressParseWithBuffer(readBuffer)
 	if _addressErr != nil {
 		return nil, errors.Wrap(_addressErr, "Error parsing 'address' field of BACnetAddressEnclosed")
 	}
@@ -160,7 +164,7 @@ func BACnetAddressEnclosedParse(readBuffer utils.ReadBuffer, tagNumber uint8) (B
 	if pullErr := readBuffer.PullContext("closingTag"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for closingTag")
 	}
-	_closingTag, _closingTagErr := BACnetClosingTagParse(readBuffer, uint8(tagNumber))
+	_closingTag, _closingTagErr := BACnetClosingTagParseWithBuffer(readBuffer, uint8(tagNumber))
 	if _closingTagErr != nil {
 		return nil, errors.Wrap(_closingTagErr, "Error parsing 'closingTag' field of BACnetAddressEnclosed")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTag.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTag.go
index 7c4afeea8..40ebb0870 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTag.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTag.go
@@ -20,6 +20,7 @@
 package model
 
 import (
+	"encoding/binary"
 	"github.com/apache/plc4x/plc4go/spi/utils"
 	"github.com/pkg/errors"
 )
@@ -139,7 +140,11 @@ func (m *_BACnetApplicationTag) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagParse(readBuffer utils.ReadBuffer) (BACnetApplicationTag, error) {
+func BACnetApplicationTagParse(theBytes []byte) (BACnetApplicationTag, error) {
+	return BACnetApplicationTagParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetApplicationTag, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTag"); pullErr != nil {
@@ -152,7 +157,7 @@ func BACnetApplicationTagParse(readBuffer utils.ReadBuffer) (BACnetApplicationTa
 	if pullErr := readBuffer.PullContext("header"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for header")
 	}
-	_header, _headerErr := BACnetTagHeaderParse(readBuffer)
+	_header, _headerErr := BACnetTagHeaderParseWithBuffer(readBuffer)
 	if _headerErr != nil {
 		return nil, errors.Wrap(_headerErr, "Error parsing 'header' field of BACnetApplicationTag")
 	}
@@ -187,31 +192,31 @@ func BACnetApplicationTagParse(readBuffer utils.ReadBuffer) (BACnetApplicationTa
 	var typeSwitchError error
 	switch {
 	case actualTagNumber == 0x0: // BACnetApplicationTagNull
-		_childTemp, typeSwitchError = BACnetApplicationTagNullParse(readBuffer)
+		_childTemp, typeSwitchError = BACnetApplicationTagNullParseWithBuffer(readBuffer)
 	case actualTagNumber == 0x1: // BACnetApplicationTagBoolean
-		_childTemp, typeSwitchError = BACnetApplicationTagBooleanParse(readBuffer, header)
+		_childTemp, typeSwitchError = BACnetApplicationTagBooleanParseWithBuffer(readBuffer, header)
 	case actualTagNumber == 0x2: // BACnetApplicationTagUnsignedInteger
-		_childTemp, typeSwitchError = BACnetApplicationTagUnsignedIntegerParse(readBuffer, header)
+		_childTemp, typeSwitchError = BACnetApplicationTagUnsignedIntegerParseWithBuffer(readBuffer, header)
 	case actualTagNumber == 0x3: // BACnetApplicationTagSignedInteger
-		_childTemp, typeSwitchError = BACnetApplicationTagSignedIntegerParse(readBuffer, header)
+		_childTemp, typeSwitchError = BACnetApplicationTagSignedIntegerParseWithBuffer(readBuffer, header)
 	case actualTagNumber == 0x4: // BACnetApplicationTagReal
-		_childTemp, typeSwitchError = BACnetApplicationTagRealParse(readBuffer)
+		_childTemp, typeSwitchError = BACnetApplicationTagRealParseWithBuffer(readBuffer)
 	case actualTagNumber == 0x5: // BACnetApplicationTagDouble
-		_childTemp, typeSwitchError = BACnetApplicationTagDoubleParse(readBuffer)
+		_childTemp, typeSwitchError = BACnetApplicationTagDoubleParseWithBuffer(readBuffer)
 	case actualTagNumber == 0x6: // BACnetApplicationTagOctetString
-		_childTemp, typeSwitchError = BACnetApplicationTagOctetStringParse(readBuffer, header)
+		_childTemp, typeSwitchError = BACnetApplicationTagOctetStringParseWithBuffer(readBuffer, header)
 	case actualTagNumber == 0x7: // BACnetApplicationTagCharacterString
-		_childTemp, typeSwitchError = BACnetApplicationTagCharacterStringParse(readBuffer, header)
+		_childTemp, typeSwitchError = BACnetApplicationTagCharacterStringParseWithBuffer(readBuffer, header)
 	case actualTagNumber == 0x8: // BACnetApplicationTagBitString
-		_childTemp, typeSwitchError = BACnetApplicationTagBitStringParse(readBuffer, header)
+		_childTemp, typeSwitchError = BACnetApplicationTagBitStringParseWithBuffer(readBuffer, header)
 	case actualTagNumber == 0x9: // BACnetApplicationTagEnumerated
-		_childTemp, typeSwitchError = BACnetApplicationTagEnumeratedParse(readBuffer, header)
+		_childTemp, typeSwitchError = BACnetApplicationTagEnumeratedParseWithBuffer(readBuffer, header)
 	case actualTagNumber == 0xA: // BACnetApplicationTagDate
-		_childTemp, typeSwitchError = BACnetApplicationTagDateParse(readBuffer)
+		_childTemp, typeSwitchError = BACnetApplicationTagDateParseWithBuffer(readBuffer)
 	case actualTagNumber == 0xB: // BACnetApplicationTagTime
-		_childTemp, typeSwitchError = BACnetApplicationTagTimeParse(readBuffer)
+		_childTemp, typeSwitchError = BACnetApplicationTagTimeParseWithBuffer(readBuffer)
 	case actualTagNumber == 0xC: // BACnetApplicationTagObjectIdentifier
-		_childTemp, typeSwitchError = BACnetApplicationTagObjectIdentifierParse(readBuffer)
+		_childTemp, typeSwitchError = BACnetApplicationTagObjectIdentifierParseWithBuffer(readBuffer)
 	default:
 		typeSwitchError = errors.Errorf("Unmapped type for parameters [actualTagNumber=%v]", actualTagNumber)
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagBitString.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagBitString.go
index 734c5c820..6ca820fd5 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagBitString.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagBitString.go
@@ -123,7 +123,11 @@ func (m *_BACnetApplicationTagBitString) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagBitStringParse(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagBitString, error) {
+func BACnetApplicationTagBitStringParse(theBytes []byte, header BACnetTagHeader) (BACnetApplicationTagBitString, error) {
+	return BACnetApplicationTagBitStringParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), header) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagBitStringParseWithBuffer(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagBitString, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagBitString"); pullErr != nil {
@@ -136,7 +140,7 @@ func BACnetApplicationTagBitStringParse(readBuffer utils.ReadBuffer, header BACn
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadBitStringParse(readBuffer, uint32(header.GetActualLength()))
+	_payload, _payloadErr := BACnetTagPayloadBitStringParseWithBuffer(readBuffer, uint32(header.GetActualLength()))
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagBitString")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagBoolean.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagBoolean.go
index 12f93e813..429e3548d 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagBoolean.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagBoolean.go
@@ -140,7 +140,11 @@ func (m *_BACnetApplicationTagBoolean) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagBooleanParse(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagBoolean, error) {
+func BACnetApplicationTagBooleanParse(theBytes []byte, header BACnetTagHeader) (BACnetApplicationTagBoolean, error) {
+	return BACnetApplicationTagBooleanParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), header) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagBooleanParseWithBuffer(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagBoolean, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagBoolean"); pullErr != nil {
@@ -153,7 +157,7 @@ func BACnetApplicationTagBooleanParse(readBuffer utils.ReadBuffer, header BACnet
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadBooleanParse(readBuffer, uint32(header.GetActualLength()))
+	_payload, _payloadErr := BACnetTagPayloadBooleanParseWithBuffer(readBuffer, uint32(header.GetActualLength()))
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagBoolean")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagCharacterString.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagCharacterString.go
index 5885faa17..4198a9524 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagCharacterString.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagCharacterString.go
@@ -140,7 +140,11 @@ func (m *_BACnetApplicationTagCharacterString) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagCharacterStringParse(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagCharacterString, error) {
+func BACnetApplicationTagCharacterStringParse(theBytes []byte, header BACnetTagHeader) (BACnetApplicationTagCharacterString, error) {
+	return BACnetApplicationTagCharacterStringParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), header) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagCharacterStringParseWithBuffer(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagCharacterString, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagCharacterString"); pullErr != nil {
@@ -153,7 +157,7 @@ func BACnetApplicationTagCharacterStringParse(readBuffer utils.ReadBuffer, heade
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadCharacterStringParse(readBuffer, uint32(header.GetActualLength()))
+	_payload, _payloadErr := BACnetTagPayloadCharacterStringParseWithBuffer(readBuffer, uint32(header.GetActualLength()))
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagCharacterString")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagDate.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagDate.go
index 3cfd30d70..38c4cefc3 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagDate.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagDate.go
@@ -123,7 +123,11 @@ func (m *_BACnetApplicationTagDate) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagDateParse(readBuffer utils.ReadBuffer) (BACnetApplicationTagDate, error) {
+func BACnetApplicationTagDateParse(theBytes []byte) (BACnetApplicationTagDate, error) {
+	return BACnetApplicationTagDateParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagDateParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetApplicationTagDate, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagDate"); pullErr != nil {
@@ -136,7 +140,7 @@ func BACnetApplicationTagDateParse(readBuffer utils.ReadBuffer) (BACnetApplicati
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadDateParse(readBuffer)
+	_payload, _payloadErr := BACnetTagPayloadDateParseWithBuffer(readBuffer)
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagDate")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagDouble.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagDouble.go
index 2410901a3..2c096adf2 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagDouble.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagDouble.go
@@ -140,7 +140,11 @@ func (m *_BACnetApplicationTagDouble) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagDoubleParse(readBuffer utils.ReadBuffer) (BACnetApplicationTagDouble, error) {
+func BACnetApplicationTagDoubleParse(theBytes []byte) (BACnetApplicationTagDouble, error) {
+	return BACnetApplicationTagDoubleParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagDoubleParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetApplicationTagDouble, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagDouble"); pullErr != nil {
@@ -153,7 +157,7 @@ func BACnetApplicationTagDoubleParse(readBuffer utils.ReadBuffer) (BACnetApplica
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadDoubleParse(readBuffer)
+	_payload, _payloadErr := BACnetTagPayloadDoubleParseWithBuffer(readBuffer)
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagDouble")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagEnumerated.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagEnumerated.go
index 2f2a8ea21..cd6b2889f 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagEnumerated.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagEnumerated.go
@@ -140,7 +140,11 @@ func (m *_BACnetApplicationTagEnumerated) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagEnumeratedParse(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagEnumerated, error) {
+func BACnetApplicationTagEnumeratedParse(theBytes []byte, header BACnetTagHeader) (BACnetApplicationTagEnumerated, error) {
+	return BACnetApplicationTagEnumeratedParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), header) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagEnumeratedParseWithBuffer(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagEnumerated, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagEnumerated"); pullErr != nil {
@@ -153,7 +157,7 @@ func BACnetApplicationTagEnumeratedParse(readBuffer utils.ReadBuffer, header BAC
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadEnumeratedParse(readBuffer, uint32(header.GetActualLength()))
+	_payload, _payloadErr := BACnetTagPayloadEnumeratedParseWithBuffer(readBuffer, uint32(header.GetActualLength()))
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagEnumerated")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagNull.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagNull.go
index c8599fed1..b20deb6b3 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagNull.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagNull.go
@@ -102,7 +102,11 @@ func (m *_BACnetApplicationTagNull) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagNullParse(readBuffer utils.ReadBuffer) (BACnetApplicationTagNull, error) {
+func BACnetApplicationTagNullParse(theBytes []byte) (BACnetApplicationTagNull, error) {
+	return BACnetApplicationTagNullParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagNullParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetApplicationTagNull, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagNull"); pullErr != nil {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagObjectIdentifier.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagObjectIdentifier.go
index 8c0f59563..75f8919ee 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagObjectIdentifier.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagObjectIdentifier.go
@@ -148,7 +148,11 @@ func (m *_BACnetApplicationTagObjectIdentifier) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagObjectIdentifierParse(readBuffer utils.ReadBuffer) (BACnetApplicationTagObjectIdentifier, error) {
+func BACnetApplicationTagObjectIdentifierParse(theBytes []byte) (BACnetApplicationTagObjectIdentifier, error) {
+	return BACnetApplicationTagObjectIdentifierParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagObjectIdentifierParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetApplicationTagObjectIdentifier, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagObjectIdentifier"); pullErr != nil {
@@ -161,7 +165,7 @@ func BACnetApplicationTagObjectIdentifierParse(readBuffer utils.ReadBuffer) (BAC
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadObjectIdentifierParse(readBuffer)
+	_payload, _payloadErr := BACnetTagPayloadObjectIdentifierParseWithBuffer(readBuffer)
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagObjectIdentifier")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagOctetString.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagOctetString.go
index eb8b2c393..44aecbef3 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagOctetString.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagOctetString.go
@@ -123,7 +123,11 @@ func (m *_BACnetApplicationTagOctetString) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagOctetStringParse(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagOctetString, error) {
+func BACnetApplicationTagOctetStringParse(theBytes []byte, header BACnetTagHeader) (BACnetApplicationTagOctetString, error) {
+	return BACnetApplicationTagOctetStringParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), header) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagOctetStringParseWithBuffer(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagOctetString, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagOctetString"); pullErr != nil {
@@ -136,7 +140,7 @@ func BACnetApplicationTagOctetStringParse(readBuffer utils.ReadBuffer, header BA
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadOctetStringParse(readBuffer, uint32(header.GetActualLength()))
+	_payload, _payloadErr := BACnetTagPayloadOctetStringParseWithBuffer(readBuffer, uint32(header.GetActualLength()))
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagOctetString")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagReal.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagReal.go
index d7ce288af..05f05c443 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagReal.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagReal.go
@@ -140,7 +140,11 @@ func (m *_BACnetApplicationTagReal) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagRealParse(readBuffer utils.ReadBuffer) (BACnetApplicationTagReal, error) {
+func BACnetApplicationTagRealParse(theBytes []byte) (BACnetApplicationTagReal, error) {
+	return BACnetApplicationTagRealParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagRealParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetApplicationTagReal, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagReal"); pullErr != nil {
@@ -153,7 +157,7 @@ func BACnetApplicationTagRealParse(readBuffer utils.ReadBuffer) (BACnetApplicati
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadRealParse(readBuffer)
+	_payload, _payloadErr := BACnetTagPayloadRealParseWithBuffer(readBuffer)
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagReal")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
index d04976dfd..b40cb639d 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagSignedInteger.go
@@ -140,7 +140,11 @@ func (m *_BACnetApplicationTagSignedInteger) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagSignedIntegerParse(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagSignedInteger, error) {
+func BACnetApplicationTagSignedIntegerParse(theBytes []byte, header BACnetTagHeader) (BACnetApplicationTagSignedInteger, error) {
+	return BACnetApplicationTagSignedIntegerParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), header) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagSignedIntegerParseWithBuffer(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagSignedInteger, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagSignedInteger"); pullErr != nil {
@@ -153,7 +157,7 @@ func BACnetApplicationTagSignedIntegerParse(readBuffer utils.ReadBuffer, header
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadSignedIntegerParse(readBuffer, uint32(header.GetActualLength()))
+	_payload, _payloadErr := BACnetTagPayloadSignedIntegerParseWithBuffer(readBuffer, uint32(header.GetActualLength()))
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagSignedInteger")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagTime.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagTime.go
index bc010be45..bd6341193 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagTime.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagTime.go
@@ -123,7 +123,11 @@ func (m *_BACnetApplicationTagTime) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagTimeParse(readBuffer utils.ReadBuffer) (BACnetApplicationTagTime, error) {
+func BACnetApplicationTagTimeParse(theBytes []byte) (BACnetApplicationTagTime, error) {
+	return BACnetApplicationTagTimeParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagTimeParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetApplicationTagTime, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagTime"); pullErr != nil {
@@ -136,7 +140,7 @@ func BACnetApplicationTagTimeParse(readBuffer utils.ReadBuffer) (BACnetApplicati
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadTimeParse(readBuffer)
+	_payload, _payloadErr := BACnetTagPayloadTimeParseWithBuffer(readBuffer)
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagTime")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go
index f6c0018aa..6e001150a 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTagUnsignedInteger.go
@@ -140,7 +140,11 @@ func (m *_BACnetApplicationTagUnsignedInteger) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetApplicationTagUnsignedIntegerParse(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagUnsignedInteger, error) {
+func BACnetApplicationTagUnsignedIntegerParse(theBytes []byte, header BACnetTagHeader) (BACnetApplicationTagUnsignedInteger, error) {
+	return BACnetApplicationTagUnsignedIntegerParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), header) // TODO: get endianness from mspec
+}
+
+func BACnetApplicationTagUnsignedIntegerParseWithBuffer(readBuffer utils.ReadBuffer, header BACnetTagHeader) (BACnetApplicationTagUnsignedInteger, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetApplicationTagUnsignedInteger"); pullErr != nil {
@@ -153,7 +157,7 @@ func BACnetApplicationTagUnsignedIntegerParse(readBuffer utils.ReadBuffer, heade
 	if pullErr := readBuffer.PullContext("payload"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for payload")
 	}
-	_payload, _payloadErr := BACnetTagPayloadUnsignedIntegerParse(readBuffer, uint32(header.GetActualLength()))
+	_payload, _payloadErr := BACnetTagPayloadUnsignedIntegerParseWithBuffer(readBuffer, uint32(header.GetActualLength()))
 	if _payloadErr != nil {
 		return nil, errors.Wrap(_payloadErr, "Error parsing 'payload' field of BACnetApplicationTagUnsignedInteger")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedAccessRights.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedAccessRights.go
index 29f127157..7d508e9af 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedAccessRights.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedAccessRights.go
@@ -108,7 +108,11 @@ func (m *_BACnetAssignedAccessRights) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAssignedAccessRightsParse(readBuffer utils.ReadBuffer) (BACnetAssignedAccessRights, error) {
+func BACnetAssignedAccessRightsParse(theBytes []byte) (BACnetAssignedAccessRights, error) {
+	return BACnetAssignedAccessRightsParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAssignedAccessRightsParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAssignedAccessRights, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAssignedAccessRights"); pullErr != nil {
@@ -121,7 +125,7 @@ func BACnetAssignedAccessRightsParse(readBuffer utils.ReadBuffer) (BACnetAssigne
 	if pullErr := readBuffer.PullContext("assignedAccessRights"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for assignedAccessRights")
 	}
-	_assignedAccessRights, _assignedAccessRightsErr := BACnetDeviceObjectReferenceEnclosedParse(readBuffer, uint8(uint8(0)))
+	_assignedAccessRights, _assignedAccessRightsErr := BACnetDeviceObjectReferenceEnclosedParseWithBuffer(readBuffer, uint8(uint8(0)))
 	if _assignedAccessRightsErr != nil {
 		return nil, errors.Wrap(_assignedAccessRightsErr, "Error parsing 'assignedAccessRights' field of BACnetAssignedAccessRights")
 	}
@@ -134,7 +138,7 @@ func BACnetAssignedAccessRightsParse(readBuffer utils.ReadBuffer) (BACnetAssigne
 	if pullErr := readBuffer.PullContext("enable"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for enable")
 	}
-	_enable, _enableErr := BACnetContextTagParse(readBuffer, uint8(uint8(1)), BACnetDataType(BACnetDataType_BOOLEAN))
+	_enable, _enableErr := BACnetContextTagParseWithBuffer(readBuffer, uint8(uint8(1)), BACnetDataType(BACnetDataType_BOOLEAN))
 	if _enableErr != nil {
 		return nil, errors.Wrap(_enableErr, "Error parsing 'enable' field of BACnetAssignedAccessRights")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCalls.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCalls.go
index 229a3f89b..fef6e9d53 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCalls.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCalls.go
@@ -98,7 +98,11 @@ func (m *_BACnetAssignedLandingCalls) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAssignedLandingCallsParse(readBuffer utils.ReadBuffer) (BACnetAssignedLandingCalls, error) {
+func BACnetAssignedLandingCallsParse(theBytes []byte) (BACnetAssignedLandingCalls, error) {
+	return BACnetAssignedLandingCallsParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAssignedLandingCallsParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAssignedLandingCalls, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAssignedLandingCalls"); pullErr != nil {
@@ -111,7 +115,7 @@ func BACnetAssignedLandingCallsParse(readBuffer utils.ReadBuffer) (BACnetAssigne
 	if pullErr := readBuffer.PullContext("landingCalls"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for landingCalls")
 	}
-	_landingCalls, _landingCallsErr := BACnetAssignedLandingCallsLandingCallsListParse(readBuffer, uint8(uint8(0)))
+	_landingCalls, _landingCallsErr := BACnetAssignedLandingCallsLandingCallsListParseWithBuffer(readBuffer, uint8(uint8(0)))
 	if _landingCallsErr != nil {
 		return nil, errors.Wrap(_landingCallsErr, "Error parsing 'landingCalls' field of BACnetAssignedLandingCalls")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCallsLandingCallsList.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCallsLandingCallsList.go
index e553799d2..fdfaef831 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCallsLandingCallsList.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCallsLandingCallsList.go
@@ -125,7 +125,11 @@ func (m *_BACnetAssignedLandingCallsLandingCallsList) GetLengthInBytes() uint16
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAssignedLandingCallsLandingCallsListParse(readBuffer utils.ReadBuffer, tagNumber uint8) (BACnetAssignedLandingCallsLandingCallsList, error) {
+func BACnetAssignedLandingCallsLandingCallsListParse(theBytes []byte, tagNumber uint8) (BACnetAssignedLandingCallsLandingCallsList, error) {
+	return BACnetAssignedLandingCallsLandingCallsListParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian)), tagNumber) // TODO: get endianness from mspec
+}
+
+func BACnetAssignedLandingCallsLandingCallsListParseWithBuffer(readBuffer utils.ReadBuffer, tagNumber uint8) (BACnetAssignedLandingCallsLandingCallsList, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAssignedLandingCallsLandingCallsList"); pullErr != nil {
@@ -138,7 +142,7 @@ func BACnetAssignedLandingCallsLandingCallsListParse(readBuffer utils.ReadBuffer
 	if pullErr := readBuffer.PullContext("openingTag"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for openingTag")
 	}
-	_openingTag, _openingTagErr := BACnetOpeningTagParse(readBuffer, uint8(tagNumber))
+	_openingTag, _openingTagErr := BACnetOpeningTagParseWithBuffer(readBuffer, uint8(tagNumber))
 	if _openingTagErr != nil {
 		return nil, errors.Wrap(_openingTagErr, "Error parsing 'openingTag' field of BACnetAssignedLandingCallsLandingCallsList")
 	}
@@ -155,7 +159,7 @@ func BACnetAssignedLandingCallsLandingCallsListParse(readBuffer utils.ReadBuffer
 	var landingCalls []BACnetAssignedLandingCallsLandingCallsListEntry
 	{
 		for !bool(IsBACnetConstructedDataClosingTag(readBuffer, false, tagNumber)) {
-			_item, _err := BACnetAssignedLandingCallsLandingCallsListEntryParse(readBuffer)
+			_item, _err := BACnetAssignedLandingCallsLandingCallsListEntryParseWithBuffer(readBuffer)
 			if _err != nil {
 				return nil, errors.Wrap(_err, "Error parsing 'landingCalls' field of BACnetAssignedLandingCallsLandingCallsList")
 			}
@@ -171,7 +175,7 @@ func BACnetAssignedLandingCallsLandingCallsListParse(readBuffer utils.ReadBuffer
 	if pullErr := readBuffer.PullContext("closingTag"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for closingTag")
 	}
-	_closingTag, _closingTagErr := BACnetClosingTagParse(readBuffer, uint8(tagNumber))
+	_closingTag, _closingTagErr := BACnetClosingTagParseWithBuffer(readBuffer, uint8(tagNumber))
 	if _closingTagErr != nil {
 		return nil, errors.Wrap(_closingTagErr, "Error parsing 'closingTag' field of BACnetAssignedLandingCallsLandingCallsList")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCallsLandingCallsListEntry.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCallsLandingCallsListEntry.go
index c93b559d6..d2b0fab5a 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCallsLandingCallsListEntry.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAssignedLandingCallsLandingCallsListEntry.go
@@ -108,7 +108,11 @@ func (m *_BACnetAssignedLandingCallsLandingCallsListEntry) GetLengthInBytes() ui
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAssignedLandingCallsLandingCallsListEntryParse(readBuffer utils.ReadBuffer) (BACnetAssignedLandingCallsLandingCallsListEntry, error) {
+func BACnetAssignedLandingCallsLandingCallsListEntryParse(theBytes []byte) (BACnetAssignedLandingCallsLandingCallsListEntry, error) {
+	return BACnetAssignedLandingCallsLandingCallsListEntryParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAssignedLandingCallsLandingCallsListEntryParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAssignedLandingCallsLandingCallsListEntry, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAssignedLandingCallsLandingCallsListEntry"); pullErr != nil {
@@ -121,7 +125,7 @@ func BACnetAssignedLandingCallsLandingCallsListEntryParse(readBuffer utils.ReadB
 	if pullErr := readBuffer.PullContext("floorNumber"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for floorNumber")
 	}
-	_floorNumber, _floorNumberErr := BACnetContextTagParse(readBuffer, uint8(uint8(0)), BACnetDataType(BACnetDataType_UNSIGNED_INTEGER))
+	_floorNumber, _floorNumberErr := BACnetContextTagParseWithBuffer(readBuffer, uint8(uint8(0)), BACnetDataType(BACnetDataType_UNSIGNED_INTEGER))
 	if _floorNumberErr != nil {
 		return nil, errors.Wrap(_floorNumberErr, "Error parsing 'floorNumber' field of BACnetAssignedLandingCallsLandingCallsListEntry")
 	}
@@ -134,7 +138,7 @@ func BACnetAssignedLandingCallsLandingCallsListEntryParse(readBuffer utils.ReadB
 	if pullErr := readBuffer.PullContext("direction"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for direction")
 	}
-	_direction, _directionErr := BACnetLiftCarDirectionTaggedParse(readBuffer, uint8(uint8(1)), TagClass(TagClass_CONTEXT_SPECIFIC_TAGS))
+	_direction, _directionErr := BACnetLiftCarDirectionTaggedParseWithBuffer(readBuffer, uint8(uint8(1)), TagClass(TagClass_CONTEXT_SPECIFIC_TAGS))
 	if _directionErr != nil {
 		return nil, errors.Wrap(_directionErr, "Error parsing 'direction' field of BACnetAssignedLandingCallsLandingCallsListEntry")
 	}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetAuthenticationFactor.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetAuthenticationFactor.go
index c306ca601..39fa3cbee 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetAuthenticationFactor.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetAuthenticationFactor.go
@@ -118,7 +118,11 @@ func (m *_BACnetAuthenticationFactor) GetLengthInBytes() uint16 {
 	return m.GetLengthInBits() / 8
 }
 
-func BACnetAuthenticationFactorParse(readBuffer utils.ReadBuffer) (BACnetAuthenticationFactor, error) {
+func BACnetAuthenticationFactorParse(theBytes []byte) (BACnetAuthenticationFactor, error) {
+	return BACnetAuthenticationFactorParseWithBuffer(utils.NewReadBufferByteBased(theBytes, utils.WithByteOrderForReadBufferByteBased(binary.BigEndian))) // TODO: get endianness from mspec
+}
+
+func BACnetAuthenticationFactorParseWithBuffer(readBuffer utils.ReadBuffer) (BACnetAuthenticationFactor, error) {
 	positionAware := readBuffer
 	_ = positionAware
 	if pullErr := readBuffer.PullContext("BACnetAuthenticationFactor"); pullErr != nil {
@@ -131,7 +135,7 @@ func BACnetAuthenticationFactorParse(readBuffer utils.ReadBuffer) (BACnetAuthent
 	if pullErr := readBuffer.PullContext("formatType"); pullErr != nil {
 		return nil, errors.Wrap(pullErr, "Error pulling for formatType")
 	}
... 65059 lines suppressed ...