diff --git a/generated/efmbondingportperformancemonitoringhistorydatapart2.go b/generated/efmbondingportperformancemonitoringhistorydatapart2.go
index 947e454..f2a1f15 100644
--- a/generated/efmbondingportperformancemonitoringhistorydatapart2.go
+++ b/generated/efmbondingportperformancemonitoringhistorydatapart2.go
@@ -27,11 +27,11 @@
 
 // EfmBondingPortPerformanceMonitoringHistoryDataPart2ClassID is the 16-bit ID for the OMCI
 // Managed entity EFM bonding port performance monitoring history data part 2
-const EfmBondingPortPerformanceMonitoringHistoryDataPart2ClassID ClassID = ClassID(424)
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2ClassID = ClassID(424) // 0x01a8
 
 var efmbondingportperformancemonitoringhistorydatapart2BME *ManagedEntityDefinition
 
-// EfmBondingPortPerformanceMonitoringHistoryDataPart2 (class ID #424)
+// EfmBondingPortPerformanceMonitoringHistoryDataPart2 (Class ID: #424 / 0x01a8)
 //	This ME collects PM data as seen at the xTU-C. Instances of this ME are created and deleted by
 //	the OLT.
 //
@@ -40,66 +40,59 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. The two MSBs of
-//			the first byte are the bearer channel ID. Excluding the first 2-bits of the first byte, the
-//			remaining part of the ME ID is identical to that of this ME's parent PPTP xDSL UNI part 1. (R,
-//			setbycreate) (mandatory) (2-bytes)
+//			This attribute uniquely identifies each instance of this ME. The two MSBs of the first byte are
+//			the bearer channel ID. Excluding the first 2-bits of the first byte, the remaining part of the
+//			ME ID is identical to that of this ME's parent PPTP xDSL UNI part 1. (R, setbycreate)
+//			(mandatory) (2-bytes)
 //
 //		Interval End Time
-//			Interval end time: This attribute identifies the most recently finished 15-min interval. (R)
-//			(mandatory) (1-byte)
+//			This attribute identifies the most recently finished 15-min interval. (R) (mandatory) (1-byte)
 //
 //		Threshold Data 1_2 Id
 //			Threshold data 1/2 ID: This attribute points to an instance of the threshold data 1 and 2 MEs
 //			that contain PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
 //		Rx Unicast Frames
-//			Rx unicast frames: Number of unicast Ethernet frames received over this port. (R) (mandatory)
-//			(4-bytes)
+//			Number of unicast Ethernet frames received over this port. (R) (mandatory) (4-bytes)
 //
 //		Tx Unicast Frames
-//			Tx unicast frames: Number of unicast Ethernet frames transmitted over this port. (R) (mandatory)
-//			(4-bytes)
+//			Number of unicast Ethernet frames transmitted over this port. (R) (mandatory) (4-bytes)
 //
 //		Rx Unicast Bytes
-//			Rx unicast bytes: Number of bytes contained in the unicast Ethernet frames received over this
-//			port. (R) (mandatory) (4-bytes)
+//			Number of bytes contained in the unicast Ethernet frames received over this port. (R)
+//			(mandatory) (4-bytes)
 //
 //		Tx Unicast Bytes
-//			Tx unicast bytes: Number of bytes contained in the unicast Ethernet frames transmitted over this
-//			port. (R) (mandatory) (4-bytes)
+//			Number of bytes contained in the unicast Ethernet frames transmitted over this port. (R)
+//			(mandatory) (4-bytes)
 //
 //		Rx Broadcast Frames
-//			Rx broadcast frames: Number of broadcast Ethernet frames received over this port. (R)
-//			(mandatory) (4-bytes)
+//			Number of broadcast Ethernet frames received over this port. (R) (mandatory) (4-bytes)
 //
 //		Tx Broadcast Frames
-//			Tx broadcast frames: Number of broadcast Ethernet frames transmitted over this port. (R)
-//			(mandatory) (4-bytes)
+//			Number of broadcast Ethernet frames transmitted over this port. (R) (mandatory) (4-bytes)
 //
 //		Rx Broadcast Bytes
-//			Rx broadcast bytes: Number of bytes contained in the broadcast Ethernet frames received over
-//			this port. (R) (mandatory) (4-bytes)
+//			Number of bytes contained in the broadcast Ethernet frames received over this port. (R)
+//			(mandatory) (4-bytes)
 //
 //		Tx Broadcast Bytes
-//			Tx broadcast bytes: Number of bytes contained in the broadcast Ethernet frames transmitted over
-//			this port. (R) (mandatory) (4-bytes)
+//			Number of bytes contained in the broadcast Ethernet frames transmitted over this port. (R)
+//			(mandatory) (4-bytes)
 //
 //		Rx Multicast Frames
-//			Rx multicast frames: Number of multicast Ethernet frames received over this port. (R)
-//			(mandatory) (4-bytes)
+//			Number of multicast Ethernet frames received over this port. (R) (mandatory) (4-bytes)
 //
 //		Tx Multicast Frames
-//			Tx multicast frames: Number of multicast Ethernet frames transmitted over this port. (R)
-//			(mandatory) (4-bytes)
+//			Number of multicast Ethernet frames transmitted over this port. (R) (mandatory) (4-bytes)
 //
 //		Rx Multicast Bytes
-//			Rx multicast bytes: Number of bytes contained in the multicast Ethernet frames received over
-//			this port. (R) (mandatory) (4-bytes)
+//			Number of bytes contained in the multicast Ethernet frames received over this port. (R)
+//			(mandatory) (4-bytes)
 //
 //		Tx Multicast Bytes
-//			Tx multicast bytes: Number of bytes contained in the multicast Ethernet frames transmitted over
-//			this port. (R) (mandatory) (4-bytes)
+//			Number of bytes contained in the multicast Ethernet frames transmitted over this port. (R)
+//			(mandatory) (4-bytes)
 //
 type EfmBondingPortPerformanceMonitoringHistoryDataPart2 struct {
 	ManagedEntityDefinition
