diff --git a/rw_core/core/core.go b/rw_core/core/core.go
index 298c3ce..c42a64e 100644
--- a/rw_core/core/core.go
+++ b/rw_core/core/core.go
@@ -75,28 +75,28 @@
 }
 
 func (core *Core) Start(ctx context.Context) {
-	log.Info("starting-core", log.Fields{"coreId": core.instanceId})
+	log.Info("starting-adaptercore", log.Fields{"coreId": core.instanceId})
 	core.startKafkaMessagingProxy(ctx)
 	log.Info("values", log.Fields{"kmp": core.kmp})
-	core.deviceMgr = newDeviceManager(core.kmp, core.clusterDataProxy)
+	core.deviceMgr = newDeviceManager(core.kmp, core.clusterDataProxy, core.instanceId)
 	core.logicalDeviceMgr = newLogicalDeviceManager(core.deviceMgr, core.kmp, core.clusterDataProxy)
 	core.registerAdapterRequestHandler(ctx, core.instanceId, core.deviceMgr, core.logicalDeviceMgr, core.clusterDataProxy, core.localDataProxy)
 	go core.startDeviceManager(ctx)
 	go core.startLogicalDeviceManager(ctx)
 	go core.startGRPCService(ctx)
 
-	log.Info("core-started")
+	log.Info("adaptercore-started")
 }
 
 func (core *Core) Stop(ctx context.Context) {
-	log.Info("stopping-core")
+	log.Info("stopping-adaptercore")
 	core.exitChannel <- 1
 	// Stop all the started services
 	core.grpcServer.Stop()
 	core.logicalDeviceMgr.stop(ctx)
 	core.deviceMgr.stop(ctx)
 	core.kmp.Stop()
-	log.Info("core-stopped")
+	log.Info("adaptercore-stopped")
 }
 
 //startGRPCService creates the grpc service handlers, registers it to the grpc server
diff --git a/rw_core/core/device_manager.go b/rw_core/core/device_manager.go
index 682de48..34fc956 100644
--- a/rw_core/core/device_manager.go
+++ b/rw_core/core/device_manager.go
@@ -38,16 +38,18 @@
 	kafkaICProxy        *kafka.InterContainerProxy
 	stateTransitions    *TransitionMap
 	clusterDataProxy    *model.Proxy
+	coreInstanceId string
 	exitChannel         chan int
 	lockDeviceAgentsMap sync.RWMutex
 }
 
-func newDeviceManager(kafkaICProxy *kafka.InterContainerProxy, cdProxy *model.Proxy) *DeviceManager {
+func newDeviceManager(kafkaICProxy *kafka.InterContainerProxy, cdProxy *model.Proxy, coreInstanceId string) *DeviceManager {
 	var deviceMgr DeviceManager
 	deviceMgr.exitChannel = make(chan int, 1)
 	deviceMgr.deviceAgents = make(map[string]*DeviceAgent)
 	deviceMgr.adapterProxy = NewAdapterProxy(kafkaICProxy)
 	deviceMgr.kafkaICProxy = kafkaICProxy
+	deviceMgr.coreInstanceId = coreInstanceId
 	deviceMgr.clusterDataProxy = cdProxy
 	deviceMgr.lockDeviceAgentsMap = sync.RWMutex{}
 	return &deviceMgr
@@ -360,7 +362,7 @@
 	}
 
 	// Publish on the messaging bus that we have discovered new devices
-	go dMgr.kafkaICProxy.DeviceDiscovered(agent.deviceId, deviceType, parentDeviceId)
+	go dMgr.kafkaICProxy.DeviceDiscovered(agent.deviceId, deviceType, parentDeviceId, dMgr.coreInstanceId)
 
 	return nil
 }
