diff --git a/cmd/ud.go b/cmd/ud.go
index a4ff2dbe2c8c2744192deac3ce99aafce45e01b0..cf1a0df7be220da8ded2bc23bba9b0c1c6c01fa3 100644
--- a/cmd/ud.go
+++ b/cmd/ud.go
@@ -82,11 +82,11 @@ var udCmd = &cobra.Command{
 		// Make user discovery manager
 		rng := client.GetRng()
 		userToRegister := viper.GetString("register")
-		userDiscoveryMgr, err := ud.NewManager(client,
+		userDiscoveryMgr, err := ud.NewManager(client, client.GetComms(),
 			client.NetworkFollowerStatus, userToRegister, nil)
 		if err != nil {
 			if strings.Contains(err.Error(), ud.IsRegisteredErr) {
-				userDiscoveryMgr, err = ud.LoadManager(client)
+				userDiscoveryMgr, err = ud.LoadManager(client, client.GetComms())
 				if err != nil {
 					jww.FATAL.Panicf("Failed to load UD manager: %+v", err)
 				}
diff --git a/ud/interfaces.go b/ud/interfaces.go
index 7fef03ba3d8e3368b67884e1033e1c492fe1c621..42b0c570f5ff522bcb2b8204ad867b4b08fd9b4a 100644
--- a/ud/interfaces.go
+++ b/ud/interfaces.go
@@ -1,6 +1,7 @@
 package ud
 
 import (
+	"gitlab.com/elixxir/client/cmix"
 	"gitlab.com/elixxir/client/e2e"
 	"gitlab.com/elixxir/client/event"
 	"gitlab.com/elixxir/client/single"
@@ -21,10 +22,9 @@ type CMix interface {
 // relevant to what is used in this package.
 type E2E interface {
 	GetReceptionIdentity() xxdk.ReceptionIdentity
-	GetCmix() CMix
+	GetCmix() cmix.Client
 	GetE2E() e2e.Handler
 	GetEventReporter() event.Reporter
-	GetComms() Comms
 	GetRng() *fastRNG.StreamGenerator
 	GetStorage() storage.Session
 	GetTransmissionIdentity() xxdk.TransmissionIdentity
diff --git a/ud/manager.go b/ud/manager.go
index e9db3962b50bac55b60c9c6cda7b880f1523e4db..757d2247331fdbc2f531039c72e6643306a4725c 100644
--- a/ud/manager.go
+++ b/ud/manager.go
@@ -74,7 +74,7 @@ type Manager struct {
 // It requires that an updated
 // NDF is available and will error if one is not.
 // registrationValidationSignature may be set to nil
-func NewManager(e2e E2E, follower NetworkStatus,
+func NewManager(e2e E2E, comms Comms, follower NetworkStatus,
 	username string, registrationValidationSignature []byte) (*Manager, error) {
 	jww.INFO.Println("ud.NewManager()")
 
@@ -88,7 +88,7 @@ func NewManager(e2e E2E, follower NetworkStatus,
 		network:                         e2e.GetCmix(),
 		e2e:                             e2e,
 		events:                          e2e.GetEventReporter(),
-		comms:                           e2e.GetComms(),
+		comms:                           comms,
 		kv:                              e2e.GetStorage().GetKV(),
 		rng:                             e2e.GetRng(),
 		registrationValidationSignature: registrationValidationSignature,
@@ -133,7 +133,7 @@ func NewManager(e2e E2E, follower NetworkStatus,
 // NewManagerFromBackup builds a new user discover manager from a backup.
 // It will construct a manager that is already registered and restore
 // already registered facts into store.
-func NewManagerFromBackup(e2e E2E, follower NetworkStatus,
+func NewManagerFromBackup(e2e E2E, comms Comms, follower NetworkStatus,
 	email, phone fact.Fact) (*Manager, error) {
 	jww.INFO.Println("ud.NewManagerFromBackup()")
 	if follower() != xxdk.Running {
@@ -147,7 +147,7 @@ func NewManagerFromBackup(e2e E2E, follower NetworkStatus,
 		network: e2e.GetCmix(),
 		e2e:     e2e,
 		events:  e2e.GetEventReporter(),
-		comms:   e2e.GetComms(),
+		comms:   comms,
 		kv:      e2e.GetStorage().GetKV(),
 		rng:     e2e.GetRng(),
 	}
@@ -212,13 +212,13 @@ func InitStoreFromBackup(kv *versioned.KV,
 // LoadManager loads the state of the Manager
 // from disk. This is meant to be called after any the first
 // instantiation of the manager by NewUserDiscovery.
-func LoadManager(e2e E2E) (*Manager, error) {
+func LoadManager(e2e E2E, comms Comms) (*Manager, error) {
 
 	m := &Manager{
 		network: e2e.GetCmix(),
 		e2e:     e2e,
 		events:  e2e.GetEventReporter(),
-		comms:   e2e.GetComms(),
+		comms:   comms,
 		rng:     e2e.GetRng(),
 		kv:      e2e.GetStorage().GetKV(),
 	}
diff --git a/ud/mockE2e_test.go b/ud/mockE2e_test.go
index c61fb3da85f186016ce282d0c7057c47fe51bc9c..4341478526e251ff22b85a0ccfa458383137798b 100644
--- a/ud/mockE2e_test.go
+++ b/ud/mockE2e_test.go
@@ -3,6 +3,7 @@ package ud
 import (
 	"github.com/cloudflare/circl/dh/sidh"
 	"gitlab.com/elixxir/client/catalog"
+	"gitlab.com/elixxir/client/cmix"
 	"gitlab.com/elixxir/client/cmix/message"
 	"gitlab.com/elixxir/client/e2e"
 	"gitlab.com/elixxir/client/e2e/ratchet/partner"
@@ -78,11 +79,7 @@ func (m mockE2e) GetEventReporter() event.Reporter {
 	return mockReporter{}
 }
 
-func (m mockE2e) GetComms() Comms {
-	return &mockComms{}
-}
-
-func (m mockE2e) GetCmix() CMix {
+func (m mockE2e) GetCmix() cmix.Client {
 	//TODO implement me
 	panic("implement me")
 }