diff --git a/applications/rtdt-manager/rtdt-manager/rtdt-manager.go b/applications/rtdt-manager/rtdt-manager/rtdt-manager.go
index 7e13e3036da31716f36bcaad36ee8785a9a9d4ef..fd94b4fe7152412b1a3d4b09f061375e83cec027 100644
--- a/applications/rtdt-manager/rtdt-manager/rtdt-manager.go
+++ b/applications/rtdt-manager/rtdt-manager/rtdt-manager.go
@@ -5,17 +5,21 @@ import (
 	"os"
 	"os/signal"
 	"path/filepath"
+	"strings"
 	"syscall"
 	"time"
 
 	"code.fbi.h-da.de/danet/gosdn/application-framework/event"
 	"code.fbi.h-da.de/danet/gosdn/application-framework/registration"
+	"code.fbi.h-da.de/danet/gosdn/controller/api"
+	uuid "github.com/google/uuid"
 
 	//"code.fbi.h-da.de/danet/gosdn/csbi/cmd"
 
 	confManPb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/configurationmanagement"
 	pnd "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/pnd"
 	topoPb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/topology"
+	tpb "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/transport"
 	clabconfig "code.fbi.h-da.de/danet/gosdn/applications/rtdt-manager/clab-config"
 	"code.fbi.h-da.de/danet/gosdn/applications/rtdt-manager/rtdt-auth"
 	util "code.fbi.h-da.de/danet/gosdn/applications/rtdt-manager/util"
@@ -174,6 +178,26 @@ func (r *RtdtManager) LaunchTwin(twinSubnetIPv4, twinSubnetIPv6, twinName string
 	}
 	// Now run deploy with new config file
 	clabconfig.ClabDeploy(clabConfigFullPath)
+
+	// TODO For each switch in the topology, run mne create
+	for node, val := range r.clabData.Topology.Nodes {
+		if strings.HasPrefix(node, "gnmi-target-") {
+			fmt.Println("Found target: ", node)
+			opt := &tpb.TransportOption{
+				Address:  val.MgmtIPv4,
+				Username: "admin",
+				Password: "admin",
+				TransportOption: &tpb.TransportOption_GnmiTransportOption{
+					GnmiTransportOption: &tpb.GnmiTransportOption{},
+				},
+			}
+			ctx := r.auth.CreateContextWithAuthorization()
+			mneUUID, _ := uuid.Parse("d1c269a2-6482-4010-b0d8-679dff73153b")
+			pid, _ := uuid.Parse(r.Pnd.GetId())
+			//			addListResponse, err := api.AddNetworkElement(ctx, val.MgmtIPv4, node, nil, uuid, opt, r.Pnd.GetId(), []string{"/"})
+			api.AddNetworkElement(ctx, val.MgmtIPv4, node, "", opt, mneUUID, pid, []string{"/"})
+		}
+	}
 	return nil
 }
 
@@ -206,7 +230,7 @@ func (rMan *RtdtManager) manageConfig(op string) error {
 func (rMan *RtdtManager) initEventSystem() error {
 	ctx := rMan.auth.CreateContextWithAuthorization()
 	queueCredentials, err := registration.Register(ctx, rMan.auth.GetURL(), "basic-interface-monitoring", "SecurePresharedToken")
-    fmt.Println("Acquired queueCredentials: ", queueCredentials)
+	fmt.Println("Acquired queueCredentials: ", queueCredentials)
 	// TODO: Find out how I can receive the ip address here (it returns rabbitmq)
 	queueCredentials = "amqp://guest:guest@172.100.0.15:5672/" // fix by setting manually
 	if err != nil {
@@ -226,14 +250,22 @@ func (rMan *RtdtManager) initEventSystem() error {
 	// Can have different callback per type per topic (e.g. adding mne or updating mne)
 	eventServiceMNE.SubscribeToEventType([]event.TypeToCallbackTuple{
 		{Type: event.Type(event.Update), Callback: rMan.updateMNECallback},
+		{Type: event.Type(event.Add), Callback: rMan.updateMNECallback},
+		{Type: event.Type(event.Delete), Callback: rMan.updateMNECallback},
+		{Type: event.Type(event.Subscribe), Callback: rMan.updateMNECallback},
 	})
 	eventServiceUser.SubscribeToEventType([]event.TypeToCallbackTuple{
-		{Type: event.Type(event.User), Callback: rMan.userEventCallback},
+		{Type: event.Type(event.Update), Callback: rMan.userEventCallback},
+		{Type: event.Type(event.Add), Callback: rMan.userEventCallback},
+		{Type: event.Type(event.Delete), Callback: rMan.userEventCallback},
+		{Type: event.Type(event.Subscribe), Callback: rMan.userEventCallback},
 	})
 	// Now iterate over all topics of service and create goRoutines
 	// that consumes queue
 	// This function is supposed to be removed in the future?
-	eventServiceMNE.SetupEventReciever(make(chan os.Signal, 1)) // doesn't seem to use stop channel internally..
+	eventServiceMNE.SetupEventReciever(make(chan os.Signal, 1))  // doesn't seem to use stop channel internally..
+	eventServiceUser.SetupEventReciever(make(chan os.Signal, 1)) // doesn't seem to use stop channel internally..
+	fmt.Println("Subscribed to events user and mne")
 	return nil
 }
 
@@ -253,6 +285,7 @@ func (rMan *RtdtManager) userEventCallback(event *event.Event) {
 func (r RtdtManager) GetClabFilename() string {
 	return r.clabFilename
 }
+
 func (r RtdtManager) GetClabTwinFilename() string {
 	return r.clabTwinFilename
 }