diff --git a/internal/pkg/core/device_handler.go b/internal/pkg/core/device_handler.go
index ba40532..31ad3a2 100644
--- a/internal/pkg/core/device_handler.go
+++ b/internal/pkg/core/device_handler.go
@@ -2182,11 +2182,11 @@
 func (dh *DeviceHandler) getExtValue(device *voltha.Device, value voltha.ValueType_Type) (*voltha.ReturnValues, error) {
 	var err error
 	var ID uint32
+	var sn *oop.SerialNumber
 	resp := new(voltha.ReturnValues)
 	valueparam := new(oop.ValueParam)
 	ctx := context.Background()
 	log.Infow("getExtValue", log.Fields{"onu-id": device.Id, "pon-intf": device.ParentPortNo})
-	sn := new(oop.SerialNumber)
 	if sn, err = dh.deStringifySerialNumber(device.SerialNumber); err != nil {
 		return nil, err
 	}
diff --git a/internal/pkg/core/openolt.go b/internal/pkg/core/openolt.go
index 7343c94..335a424 100644
--- a/internal/pkg/core/openolt.go
+++ b/internal/pkg/core/openolt.go
@@ -174,7 +174,7 @@
 
 //Process_inter_adapter_message sends messages to a target device (between adapters)
 func (oo *OpenOLT) Process_inter_adapter_message(msg *ic.InterAdapterMessage) error {
-	logger.Infow("Process_inter_adapter_message", log.Fields{"msgId": msg.Header.Id})
+	logger.Debugw("Process_inter_adapter_message", log.Fields{"msgId": msg.Header.Id})
 	targetDevice := msg.Header.ProxyDeviceId // Request?
 	if targetDevice == "" && msg.Header.ToDeviceId != "" {
 		// Typical response
@@ -390,6 +390,7 @@
 	return nil, olterrors.ErrNotImplemented
 }
 
+//Get_ext_value retrieves a value on a particular ONU
 func (oo *OpenOLT) Get_ext_value(deviceID string, device *voltha.Device, valueparam voltha.ValueType_Type) (*voltha.ReturnValues, error) {
 	var err error
 	resp := new(voltha.ReturnValues)
diff --git a/internal/pkg/core/statsmanager.go b/internal/pkg/core/statsmanager.go
index 3545b7d..a71c435 100755
--- a/internal/pkg/core/statsmanager.go
+++ b/internal/pkg/core/statsmanager.go
@@ -385,9 +385,8 @@
 
 // PortStatisticsIndication handles the port statistics indication
 func (StatMgr *OpenOltStatisticsMgr) PortStatisticsIndication(PortStats *openolt.PortStatistics, NumPonPorts uint32) {
-	logger.Debugf("port-stats-collected %v", PortStats)
 	StatMgr.PortsStatisticsKpis(PortStats, NumPonPorts)
-	logger.Infow("Received port stats indication", log.Fields{"PortStats": PortStats})
+	logger.Debugw("Received port stats indication", log.Fields{"PortStats": PortStats})
 	// TODO send stats to core topic to the voltha kafka or a different kafka ?
 }
 
