diff --git a/auth/params.go b/auth/params.go
index 01078076b8db90b31448c7bff892249d5eb583e1..abc251e648327a694cd54b779f014159560f6026 100644
--- a/auth/params.go
+++ b/auth/params.go
@@ -1,8 +1,22 @@
 package auth
 
+import "gitlab.com/elixxir/client/e2e/parse/partition"
+
 type Param struct {
 	ReplayRequests bool
 
 	RequestTag string
 	ResetTag   string
 }
+
+type PartPacket map[trasferID][]part
+
+func (pp PartPacket) Add(transferid, part) {
+	list, exist := PartPacket[transferid]
+	if exist {
+		PartPacket[transferid] = append(list, part)
+	} else {
+		PartPacket[transferid][]
+		part{part}
+	}
+}
diff --git a/auth/request.go b/auth/request.go
index cf34b7c0830577a031a7214a493a777a33b0a8b1..a40acddbd94efab7e0a2f935a6031f3f9a2ffacd 100644
--- a/auth/request.go
+++ b/auth/request.go
@@ -116,7 +116,7 @@ func (s *State) requestAuth(partner, me contact.Contact,
 	p.DebugTag = "auth.Request"
 	svc := message.Service{
 		Identifier: partner.ID.Marshal(),
-		Tag:        catalog.Default,
+		Tag:        catalog.Request,
 		Metadata:   nil,
 	}
 	round, _, err := s.net.SendCMIX(partner.ID, requestfp, svc, contents, mac, p)
diff --git a/auth/state.go b/auth/state.go
index 698e157e0b38492924fd288ae51721f849d3d834..052b475f49ea5f8632574414177ae782f5c863f6 100644
--- a/auth/state.go
+++ b/auth/state.go
@@ -39,8 +39,15 @@ type State struct {
 	params Param
 }
 
+type identity struct {
+	identity                *id.ID
+	pubkey, privkey         *cyclic.Int
+	request, confirm, reset Callback
+}
+
 func NewManager(kv *versioned.KV, net network.Manager, e2e e2e.Handler,
-	rng *fastRNG.StreamGenerator, event event.Manager, params Param) *State {
+	rng *fastRNG.StreamGenerator, event event.Manager, params Param,
+	defaultID []identity) *State {
 	m := &State{
 		requestCallbacks: newCallbackMap(),
 		confirmCallbacks: newCallbackMap(),