diff --git a/internal/kms/kms.go b/internal/kms/kms.go
index 696c0ea328b726c56edd220280fb94ca07625231..322de28041e0dd3ea94b5ff63b809ec3e715cf45 100644
--- a/internal/kms/kms.go
+++ b/internal/kms/kms.go
@@ -51,6 +51,7 @@ type EKMS struct {
 	externalNotifierQLE chan uint32
 	kmsPeersMutex       sync.Mutex
 	// TODO(maba): find a better name for this
+	// TODO: add mutex
 	keysForPathId           map[uuid.UUID]string
 	routingTable            map[uuid.UUID]*Route
 	KmsPeers                map[string]*kmsPeer
@@ -116,13 +117,13 @@ func (kms *EKMS) AddQuantumElement(qm QuantumModule) error {
 	return nil
 }
 
-func (kms *EKMS) AddPeer(kmsPeerSocket string, servingQLE QuantumModule) (*kmsPeer, error) {
+func (kms *EKMS) AddPeer(peerKmsId string, kmsPeerSocket string, servingQLE QuantumModule) (*kmsPeer, error) {
 	//check if peer exists
 	if _, there := kms.KmsPeers[kmsPeerSocket]; there {
 		log.Errorf("Trying to add existing peer %s", kmsPeerSocket)
 		return nil, fmt.Errorf("Trying to add existing peer %s", kmsPeerSocket)
 	}
-	peer, err := NewKmsPeer(servingQLE, kmsPeerSocket, kms.interComAddr, kms.externalNotifierKMSPeer)
+	peer, err := NewKmsPeer(peerKmsId, servingQLE, kmsPeerSocket, kms.interComAddr, kms.externalNotifierKMSPeer)
 	if err != nil {
 		return nil, err
 	}
diff --git a/internal/kms/kmsetsi.go b/internal/kms/kmsetsi.go
index 689611937e19ad2bea90bfdb6d47c73c1c853098..aa5013d368b396e3f554608e632c7c1b1b6b80d5 100644
--- a/internal/kms/kmsetsi.go
+++ b/internal/kms/kmsetsi.go
@@ -21,6 +21,7 @@ var (
 	etsiPort = flag.Int("port", 50900, "The server port")
 )
 
+// TODO: remove etsiServer
 type etsiServer struct {
 	pb.UnimplementedKmsETSIServer
 	handlingEkms *EKMS
@@ -65,7 +66,8 @@ func (es *etsiServer) ETSIAddKMSPeer(ctx context.Context, in *pb.ETSIKMSPeerRequ
 		return &pb.ETSIKMSPeerReply{}, err
 	}
 
-	es.handlingEkms.AddPeer(in.GetKmsPeerSocket(), servingQLE)
+	//TODO: remove hardcoded id
+	es.handlingEkms.AddPeer("default", in.GetKmsPeerSocket(), servingQLE)
 
 	return &pb.ETSIKMSPeerReply{
 		KmsPeerName: es.handlingEkms.kmsName,
diff --git a/internal/kms/kmspeers.go b/internal/kms/kmspeers.go
index 494cb3b1d62b3b70e68b498d27d4f71d92d6510c..30f3e2ca51d3445b17016b6553c432fdc026e68f 100644
--- a/internal/kms/kmspeers.go
+++ b/internal/kms/kmspeers.go
@@ -34,6 +34,7 @@ type kmsPeer struct {
 	externalNotifierKMSPeer chan string
 	peerClient              pbIC.KmsTalkerClient
 	peerStatus              KmsPeerStatus
+	peerKmsId               string // NOTE: might be changed in the future
 	interComAddr            string
 	servingQuantumModul     QuantumModule
 	tcpSocket               net.TCPAddr // the IP address and TCP port (aka socket) of the kms peer
@@ -44,7 +45,7 @@ type kmsPeer struct {
 	quit                    chan bool // cancel the peer goroutine
 }
 
-func NewKmsPeer(servQM QuantumModule, tcpSocketStr string, interComAddr string, in chan string) (*kmsPeer, error) {
+func NewKmsPeer(peerKmsId string, servQM QuantumModule, tcpSocketStr string, interComAddr string, in chan string) (*kmsPeer, error) {
 	if servQM.Peer() != nil {
 		return nil, fmt.Errorf("QuantumModule with ID: , already has a peer", servQM.ID())
 	}
@@ -60,6 +61,7 @@ func NewKmsPeer(servQM QuantumModule, tcpSocketStr string, interComAddr string,
 		peerClient: peerClient,
 		// TODO: change this, only for demo purposes
 		peerStatus: KmsPeerUp,
+		peerKmsId:  peerKmsId,
 		// TODO: move this into a config
 		interComAddr:        interComAddr,
 		servingQuantumModul: servQM,
diff --git a/internal/kms/module.go b/internal/kms/module.go
index 0b170ba5e3b24d410c16d87e1cd6977efdbfb73c..736cc6858345ed51f63a614e2b2d9a99d4b8cdac 100644
--- a/internal/kms/module.go
+++ b/internal/kms/module.go
@@ -23,7 +23,6 @@ type QuantumModule interface {
 	// NOTE: Sync will be removed as soon as the emulated quantum module has been
 	// changed to push a constant byte stream.
 	Sync() error
-	Manufacturer() string
 	KeyStore() *kmsKeyStore
 	Peer() *kmsPeer
 	SetPeer(*kmsPeer)
@@ -59,10 +58,6 @@ func (eqe *EmulatedQuantumModule) ID() uuid.UUID {
 	return eqe.QlID
 }
 
-func (eqe *EmulatedQuantumModule) Manufacturer() string {
-	return "danet"
-}
-
 func (eqe *EmulatedQuantumModule) Initialize() error {
 	// TODO: error handling
 	go eqe.keyHandler()
@@ -177,3 +172,9 @@ func (eqe *EmulatedQuantumModule) KeyChopper(bulkKey *quantumlayer.QuantumLayerB
 	}
 	return nil
 }
+
+type ETSI014HTTPQuantumModule struct {
+	id       uuid.UUID
+	keyStore *kmsKeyStore
+	peer     *kmsPeer
+}
diff --git a/internal/main_test.go b/internal/main_test.go
index 3c59b5c785224bdc0879d45e616c86ed4f8d8bce..da2e697a1fbe6d889f2f3af8a08641b58f29f731 100644
--- a/internal/main_test.go
+++ b/internal/main_test.go
@@ -81,7 +81,7 @@ func emulatedKMS(myName, myUDPAddr, myInterComAddr, peerUDPAddr, peerInterComAdd
 
 	eqm.QuantumElementLink.AddPeer(udpQL2Addr)
 
-	_, err = emuKMS.AddPeer(peerInterComAddr, eqm)
+	_, err = emuKMS.AddPeer(myName, peerInterComAddr, eqm)
 	if err != nil {
 		log.Println("PEERERROR: ", err)
 	}
@@ -129,12 +129,12 @@ func middleKMS(myName, myUDPAddr, myInterComAddr, leftUDPAddr, leftInterComAddr,
 	qlForLeft.QuantumElementLink.AddPeer(netLeftUDPAddr)
 	qlForRight.QuantumElementLink.AddPeer(netRightUDPAddr)
 
-	peerLeft, err := emuKMS.AddPeer(leftInterComAddr, qlForLeft)
+	peerLeft, err := emuKMS.AddPeer("leftKMS", leftInterComAddr, qlForLeft)
 	if err != nil {
 		log.Println(err)
 	}
 
-	peerRight, err := emuKMS.AddPeer(rightInterComAddr, qlForRight)
+	peerRight, err := emuKMS.AddPeer("rightKMS", rightInterComAddr, qlForRight)
 	if err != nil {
 		log.Println(err)
 	}