diff --git a/generated/mocaethernetperformancemonitoringhistorydata.go b/generated/mocaethernetperformancemonitoringhistorydata.go
index b66845c..c69d00b 100644
--- a/generated/mocaethernetperformancemonitoringhistorydata.go
+++ b/generated/mocaethernetperformancemonitoringhistorydata.go
@@ -27,11 +27,11 @@
 
 // MocaEthernetPerformanceMonitoringHistoryDataClassID is the 16-bit ID for the OMCI
 // Managed entity MoCA Ethernet performance monitoring history data
-const MocaEthernetPerformanceMonitoringHistoryDataClassID ClassID = ClassID(163)
+const MocaEthernetPerformanceMonitoringHistoryDataClassID = ClassID(163) // 0x00a3
 
 var mocaethernetperformancemonitoringhistorydataBME *ManagedEntityDefinition
 
-// MocaEthernetPerformanceMonitoringHistoryData (class ID #163)
+// MocaEthernetPerformanceMonitoringHistoryData (Class ID: #163 / 0x00a3)
 //	This ME collects PM data for an MoCA Ethernet interface. Instances of this ME are created and
 //	deleted by the OLT.
 //
@@ -42,59 +42,60 @@
 //
 //	Attributes
 //		Managed Entity Id
-//			Managed entity ID: This attribute uniquely identifies each instance of this ME. Through an
-//			identical ID, this ME is implicitly linked to an instance of the PPTP MoCA UNI. (R, setbycreate)
-//			(mandatory) (2-bytes)
+//			This attribute uniquely identifies each instance of this ME. Through an identical ID, this ME is
+//			implicitly linked to an instance of the PPTP MoCA UNI. (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 contains PM threshold values. (R,-W, setbycreate) (mandatory) (2-bytes)
 //
+//			Incoming PM refers to upstream traffic received on the UNI; outgoing PM refers to downstream
+//			traffic transmitted on the UNI.
+//
 //		Incoming Unicast Packets
-//			Incoming unicast packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Incoming Discarded Packets
-//			Incoming discarded packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Incoming Errored Packets
-//			Incoming errored packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Incoming Unknown Packets
-//			Incoming unknown packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Incoming Multicast Packets
-//			Incoming multicast packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Incoming Broadcast Packets
-//			Incoming broadcast packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Incoming Octets
-//			Incoming octets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Outgoing Unicast Packets
-//			Outgoing unicast packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Outgoing Discarded Packets
-//			Outgoing discarded packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Outgoing Errored Packets
-//			Outgoing errored packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Outgoing Unknown Packets
-//			Outgoing unknown packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Outgoing Multicast Packets
-//			Outgoing multicast packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Outgoing Broadcast Packets
-//			Outgoing broadcast packets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 //		Outgoing Octets
-//			Outgoing octets:	(R) (optional) (4-bytes)
+//			(R) (optional) (4-bytes)
 //
 type MocaEthernetPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
