diff --git a/internal/pkg/common/common.go b/internal/pkg/common/common.go
index 9d8656b..ab3be07 100755
--- a/internal/pkg/common/common.go
+++ b/internal/pkg/common/common.go
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020-2023 Open Networking Foundation (ONF) and the ONF Contributors
+ * Copyright 2020-2024 Open Networking Foundation (ONF) and the ONF Contributors
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-//Package common provides global definitions
+// Package common provides global definitions
 package common
 
 import (
diff --git a/internal/pkg/common/defines.go b/internal/pkg/common/defines.go
index b9c9f17..c7ebf26 100755
--- a/internal/pkg/common/defines.go
+++ b/internal/pkg/common/defines.go
@@ -1,5 +1,5 @@
 /*
- * Copyright 2018-2023 Open Networking Foundation (ONF) and the ONF Contributors
+ * Copyright 2018-2024 Open Networking Foundation (ONF) and the ONF Contributors
 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-//Package common provides global definitions
+// Package common provides global definitions
 package common
 
 import (
@@ -55,7 +55,7 @@
 	Data interface{}
 }
 
-//TestMessageType - message data for various events
+// TestMessageType - message data for various events
 type TestMessageType uint8
 
 const (
@@ -69,13 +69,13 @@
 	AbortMessageProcessing
 )
 
-//TestMessage - Struct to hold the message data
-//TODO: place holder to have a second interface variant - to be replaced by real variant later on
+// TestMessage - Struct to hold the message data
+// TODO: place holder to have a second interface variant - to be replaced by real variant later on
 type TestMessage struct {
 	TestMessageVal TestMessageType
 }
 
-//OmciMessage - OMCI protocol messages for managing and monitoring ONUs
+// OmciMessage - OMCI protocol messages for managing and monitoring ONUs
 type OmciMessage struct {
 	//OnuSN   *openolt.SerialNumber
 	//OnuID   uint32
@@ -188,25 +188,25 @@
 
 ///////////////////////////////////////////////////////////
 
-//definitions as per G.988 softwareImage::valid ME IDs
+// definitions as per G.988 softwareImage::valid ME IDs
 const (
 	FirstSwImageMeID  = 0
 	SecondSwImageMeID = 1
 )
 
-//definitions as per G.988 softwareImage::IsCommitted
+// definitions as per G.988 softwareImage::IsCommitted
 const (
 	SwIsUncommitted = 0
 	SwIsCommitted   = 1
 )
 
-//definitions as per G.988 softwareImage::IsActive
+// definitions as per G.988 softwareImage::IsActive
 const (
 	SwIsInactive = 0
 	SwIsActive   = 1
 )
 
-//definitions as per G.988 softwareImage::IsValid
+// definitions as per G.988 softwareImage::IsValid
 const (
 	SwIsInvalid = 0
 	SwIsValid   = 1
@@ -249,8 +249,8 @@
 	PFsm     *fsm.FSM
 }
 
-//CErrWaitAborted - AdapterFsm related error string
-//error string could be checked on waitforOmciResponse() e.g. to avoid misleading error log
+// CErrWaitAborted - AdapterFsm related error string
+// error string could be checked on waitforOmciResponse() e.g. to avoid misleading error log
 // but not used that way so far (permit error log even for wanted cancellation)
 const CErrWaitAborted = "waitResponse aborted"
 
@@ -269,7 +269,7 @@
 	UniPPTPPots UniPortType = 4 // relates to IP host config data (for Voice Services)
 )
 
-//OnuUniPort structure holds information about the ONU attached Uni Ports
+// OnuUniPort structure holds information about the ONU attached Uni Ports
 type OnuUniPort struct {
 	Enabled    bool
 	Name       string
@@ -328,7 +328,7 @@
 
 ///////////////////////////////////////////////////////////
 
-//definitions as per G.988
+// definitions as per G.988
 const (
 	OnuDataMeID          = 0
 	Onu2gMeID            = 0
@@ -346,7 +346,7 @@
 
 ///////////////////////////////////////////////////////////
 
-//WaitGroupWithTimeOut definitions to have waitGroup functionality with timeout
+// WaitGroupWithTimeOut definitions to have waitGroup functionality with timeout
 type WaitGroupWithTimeOut struct {
 	sync.WaitGroup
 }
diff --git a/internal/pkg/common/interfaces.go b/internal/pkg/common/interfaces.go
index fba389a..cf79c06 100755
--- a/internal/pkg/common/interfaces.go
+++ b/internal/pkg/common/interfaces.go
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020-2023 Open Networking Foundation (ONF) and the ONF Contributors
+ * Copyright 2020-2024 Open Networking Foundation (ONF) and the ONF Contributors
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/internal/pkg/common/omci_cc.go b/internal/pkg/common/omci_cc.go
index 24286d0..0f3c3e7 100755
--- a/internal/pkg/common/omci_cc.go
+++ b/internal/pkg/common/omci_cc.go
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020-2023 Open Networking Foundation (ONF) and the ONF Contributors
+ * Copyright 2020-2024 Open Networking Foundation (ONF) and the ONF Contributors
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -107,7 +107,7 @@
 	rxNoAkFrames uint32
 }
 
-//OmciCC structure holds information needed for OMCI communication (to/from OLT Adapter)
+// OmciCC structure holds information needed for OMCI communication (to/from OLT Adapter)
 type OmciCC struct {
 	enabled            bool
 	pBaseDeviceHandler IdeviceHandler
diff --git a/internal/pkg/common/onu_uni_port.go b/internal/pkg/common/onu_uni_port.go
index 27aa8dd..b5ff606 100755
--- a/internal/pkg/common/onu_uni_port.go
+++ b/internal/pkg/common/onu_uni_port.go
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020-2023 Open Networking Foundation (ONF) and the ONF Contributors
+ * Copyright 2020-2024 Open Networking Foundation (ONF) and the ONF Contributors
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/internal/pkg/common/utils.go b/internal/pkg/common/utils.go
index a82a3a2..5560ab6 100755
--- a/internal/pkg/common/utils.go
+++ b/internal/pkg/common/utils.go
@@ -1,5 +1,5 @@
 /*
- * Copyright 2020-2023 Open Networking Foundation (ONF) and the ONF Contributors
+ * Copyright 2020-2024 Open Networking Foundation (ONF) and the ONF Contributors
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-//Package common provides global definitions
+// Package common provides global definitions
 package common
 
 import (
@@ -52,7 +52,7 @@
 	return uint8(tpID), err
 }
 
-//IPToInt32 transforms an IP of net.Ip type to int32
+// IPToInt32 transforms an IP of net.Ip type to int32
 func IPToInt32(ip net.IP) uint32 {
 	if len(ip) == 16 {
 		return binary.BigEndian.Uint32(ip[12:16])
@@ -60,7 +60,7 @@
 	return binary.BigEndian.Uint32(ip)
 }
 
-//AsByteSlice transforms a string of manually set bits to a byt array
+// AsByteSlice transforms a string of manually set bits to a byt array
 func AsByteSlice(bitString string) []byte {
 	var out []byte
 	var str string
@@ -98,7 +98,7 @@
 
 ////////////////////////////////////////////////////////////////////////
 
-//NewAdapterFsm - FSM details including event, device and channel.
+// NewAdapterFsm - FSM details including event, device and channel.
 func NewAdapterFsm(aName string, aDeviceID string, aCommChannel chan Message) *AdapterFsm {
 	aFsm := &AdapterFsm{
 		fsmName:  aName,
@@ -163,8 +163,9 @@
 	return (VoipUniBaseEID + uniPortMacBpNo), nil
 }
 
-//WaitTimeout of waitGroupWithTimeOut is blocking
-//  returns true, if the wg request was executed successfully, false on timeout
+// WaitTimeout of waitGroupWithTimeOut is blocking
+//
+//	returns true, if the wg request was executed successfully, false on timeout
 func (wg *WaitGroupWithTimeOut) WaitTimeout(timeout time.Duration) bool {
 	done := make(chan struct{})
 
