diff --git a/auth/store/receivedRequest.go b/auth/store/receivedRequest.go
index 1c2a6e8e95c03fbe6c5d24990772cad64db596e7..63b338269f666f816b7d40e65db21417e7331b83 100644
--- a/auth/store/receivedRequest.go
+++ b/auth/store/receivedRequest.go
@@ -33,7 +33,7 @@ type ReceivedRequest struct {
 	round rounds.Round
 
 	//lock to make sure only one operator at a time
-	mux *sync.Mutex
+	mux sync.Mutex
 }
 
 func newReceivedRequest(kv *versioned.KV, c contact.Contact,
@@ -60,7 +60,6 @@ func newReceivedRequest(kv *versioned.KV, c contact.Contact,
 		partner:          c,
 		theirSidHPubKeyA: key,
 		round:            round,
-		mux:              &sync.Mutex{},
 	}
 }
 
diff --git a/auth/store/store.go b/auth/store/store.go
index df5535715a833a038d2f738cbe57638d1453eb00..5a42a0aa9cf2d356c62a4d23189746c16ef90349 100644
--- a/auth/store/store.go
+++ b/auth/store/store.go
@@ -23,8 +23,6 @@ import (
 	"gitlab.com/xx_network/primitives/netTime"
 )
 
-const NoRequest = "Request Not Found"
-
 const storePrefix = "requestMap"
 const requestMapKey = "map"
 
@@ -268,16 +266,15 @@ func (s *Store) HandleReceivedRequest(partner *id.ID, handler func(*ReceivedRequ
 
 	//run the handler
 	handleErr := handler(rr)
-
 	if handleErr != nil {
 		return errors.WithMessage(handleErr, "Received error from handler")
 	}
 
 	delete(s.receivedByID, *partner)
-	s.save()
+	err := s.save()
 	rr.delete()
 
-	return nil
+	return err
 }
 
 // HandleSentRequest handles the request singly, only a single operator
@@ -311,16 +308,15 @@ func (s *Store) HandleSentRequest(partner *id.ID, handler func(request *SentRequ
 
 	//run the handler
 	handleErr := handler(sr)
-
 	if handleErr != nil {
 		return errors.WithMessage(handleErr, "Received error from handler")
 	}
 
 	delete(s.sentByID, *partner)
-	s.save()
+	err := s.save()
 	sr.delete()
 
-	return nil
+	return err
 }
 
 // GetReceivedRequest returns the contact representing the partner request
diff --git a/auth/store/store_test.go b/auth/store/store_test.go
index 3de11bc3b6d7e2a122af2a2849c2bc729effa88e..acd6156c50ddca150e755826e8481fbb91c3d5f2 100644
--- a/auth/store/store_test.go
+++ b/auth/store/store_test.go
@@ -277,7 +277,7 @@ func TestStore_GetReceivedRequest_RequestDeleted(t *testing.T) {
 	}
 
 	// Check if the request's mutex is locked
-	if reflect.ValueOf(rr.mux).Elem().FieldByName("state").Int() != 0 {
+	if reflect.ValueOf(&rr.mux).Elem().FieldByName("state").Int() != 0 {
 		t.Errorf("GetReceivedRequest() did not unlock mutex.")
 	}
 }
diff --git a/go.mod b/go.mod
index 7b732085c5ae630d5ef1cca6c40e3af43f7b5d70..75d47972aac9c823166694d786525e1281c9b9d7 100644
--- a/go.mod
+++ b/go.mod
@@ -8,17 +8,18 @@ require (
 	github.com/golang/protobuf v1.5.2
 	github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
 	github.com/pkg/errors v0.9.1
+	github.com/pkg/profile v1.6.0
 	github.com/spf13/cobra v1.5.0
 	github.com/spf13/jwalterweatherman v1.1.0
 	github.com/spf13/viper v1.12.0
 	gitlab.com/elixxir/bloomfilter v0.0.0-20211222005329-7d931ceead6f
-	gitlab.com/elixxir/comms v0.0.4-0.20220603231314-e47e4af13326
-	gitlab.com/elixxir/crypto v0.0.7-0.20220826192201-c00efec3c556
-	gitlab.com/elixxir/ekv v0.1.7
-	gitlab.com/elixxir/primitives v0.0.3-0.20220606195757-40f7a589347f
-	gitlab.com/xx_network/comms v0.0.4-0.20220630163702-f3d372ef6acd
-	gitlab.com/xx_network/crypto v0.0.5-0.20220729193517-1e5e96f39f6e
-	gitlab.com/xx_network/primitives v0.0.4-0.20220712193914-aebd8544396e
+	gitlab.com/elixxir/comms v0.0.4-0.20220901222604-9fa1911afdd7
+	gitlab.com/elixxir/crypto v0.0.7-0.20220901215826-1ceaeb59081f
+	gitlab.com/elixxir/ekv v0.2.1-0.20220901224437-ab4cbf94bf8b
+	gitlab.com/elixxir/primitives v0.0.3-0.20220901220638-1acc75fabdc6
+	gitlab.com/xx_network/comms v0.0.4-0.20220902183108-fe7b710b7efe
+	gitlab.com/xx_network/crypto v0.0.5-0.20220902182733-69aad094b487
+	gitlab.com/xx_network/primitives v0.0.4-0.20220902183448-319596e2fec8
 	go.uber.org/ratelimit v0.2.0
 	golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa
 	golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b
@@ -39,7 +40,6 @@ require (
 	github.com/mitchellh/mapstructure v1.5.0 // indirect
 	github.com/pelletier/go-toml v1.9.5 // indirect
 	github.com/pelletier/go-toml/v2 v2.0.2 // indirect
-	github.com/pkg/profile v1.6.0 // indirect
 	github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e // indirect
 	github.com/spf13/afero v1.9.2 // indirect
 	github.com/spf13/cast v1.5.0 // indirect
diff --git a/go.sum b/go.sum
index f7e6a7f3bd583b9e23004c714f103b137a2cd4aa..2022f6ef9f37c1e1705aa39a50638abf65e4d8fa 100644
--- a/go.sum
+++ b/go.sum
@@ -433,53 +433,42 @@ github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo=
 github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4=
 gitlab.com/elixxir/bloomfilter v0.0.0-20211222005329-7d931ceead6f h1:yXGvNBqzZwAhDYlSnxPRbgor6JWoOt1Z7s3z1O9JR40=
 gitlab.com/elixxir/bloomfilter v0.0.0-20211222005329-7d931ceead6f/go.mod h1:H6jztdm0k+wEV2QGK/KYA+MY9nj9Zzatux/qIvDDv3k=
-gitlab.com/elixxir/comms v0.0.4-0.20220603231314-e47e4af13326 h1:Zid8oNHtbOqF6ebrcGIccvIMabFNGh9dzY1b7mgIcF0=
-gitlab.com/elixxir/comms v0.0.4-0.20220603231314-e47e4af13326/go.mod h1:tlHSrtSliKWUxsck8z/Ql/VJkMdSONV2BeWaUAAXzgk=
+gitlab.com/elixxir/comms v0.0.4-0.20220901222604-9fa1911afdd7 h1:VKeC0MEuTyyeCakXl3YRYdBn9Btp2e0cbqC4WIDSLlU=
+gitlab.com/elixxir/comms v0.0.4-0.20220901222604-9fa1911afdd7/go.mod h1:j6so9oYAj2YRjOOu11gFBldtxy4ez/oPkYfqM2J1q1k=
 gitlab.com/elixxir/crypto v0.0.0-20200804182833-984246dea2c4/go.mod h1:ucm9SFKJo+K0N2GwRRpaNr+tKXMIOVWzmyUD0SbOu2c=
 gitlab.com/elixxir/crypto v0.0.3/go.mod h1:ZNgBOblhYToR4m8tj4cMvJ9UsJAUKq+p0gCp07WQmhA=
-gitlab.com/elixxir/crypto v0.0.7-0.20220317172048-3de167bd9406/go.mod h1:tD6XjtQh87T2nKZL5I/pYPck5M2wLpkZ1Oz7H/LqO10=
-gitlab.com/elixxir/crypto v0.0.7-0.20220606201132-c370d5039cea h1:+FjwbKl6X9TDT7qd7gG5N5PSbziPWP3NgjK5ci1b7/8=
 gitlab.com/elixxir/crypto v0.0.7-0.20220606201132-c370d5039cea/go.mod h1:Oy+VWQ2Sa0Ybata3oTV+Yc46hkaDwAsuIMW0wJ01z2M=
-gitlab.com/elixxir/crypto v0.0.7-0.20220822171410-3699212bb2b3 h1:e42j+T2Fr5on1pD/BoDCPFjkYZYPb7Bj1a0bpentSNw=
-gitlab.com/elixxir/crypto v0.0.7-0.20220822171410-3699212bb2b3/go.mod h1:0gH41Kb/a9Akdv+2+vMJVdx+REVwR8CZXTr2+BrgeeA=
-gitlab.com/elixxir/crypto v0.0.7-0.20220822180551-92d06134b333 h1:V19ek4Hz3k1JB5pdUTpBQ8TewB418TTnvyYByuug2yo=
-gitlab.com/elixxir/crypto v0.0.7-0.20220822180551-92d06134b333/go.mod h1:0gH41Kb/a9Akdv+2+vMJVdx+REVwR8CZXTr2+BrgeeA=
-gitlab.com/elixxir/crypto v0.0.7-0.20220822180822-5e1b688a9500 h1:KI+7GoG2/9x/J5qdr9VCd2woGwE8RDaSMrt9STYfBKU=
-gitlab.com/elixxir/crypto v0.0.7-0.20220822180822-5e1b688a9500/go.mod h1:0gH41Kb/a9Akdv+2+vMJVdx+REVwR8CZXTr2+BrgeeA=
-gitlab.com/elixxir/crypto v0.0.7-0.20220823235814-7f7036f95acb h1:J5/yaBi7ZucSLIVHUanxgV6FKT/yDzF5I4TQYZsQqIQ=
-gitlab.com/elixxir/crypto v0.0.7-0.20220823235814-7f7036f95acb/go.mod h1:0gH41Kb/a9Akdv+2+vMJVdx+REVwR8CZXTr2+BrgeeA=
-gitlab.com/elixxir/crypto v0.0.7-0.20220826192201-c00efec3c556 h1:8ExJNUdf8JvGpfQH5Ch+Zk+sc9YJ2pLExO/ZKnGo11w=
-gitlab.com/elixxir/crypto v0.0.7-0.20220826192201-c00efec3c556/go.mod h1:0gH41Kb/a9Akdv+2+vMJVdx+REVwR8CZXTr2+BrgeeA=
-gitlab.com/elixxir/ekv v0.1.7 h1:OW2z+N4QCqqMFzouAwFTWWMKz0Y/PDhyYReN7gQ5NiQ=
-gitlab.com/elixxir/ekv v0.1.7/go.mod h1:e6WPUt97taFZe5PFLPb1Dupk7tqmDCTQu1kkstqJvw4=
+gitlab.com/elixxir/crypto v0.0.7-0.20220901215826-1ceaeb59081f h1:G5I01Ob+ff0YjGyluQ2h3+I97qWtOyNRrJGIJkJWaW8=
+gitlab.com/elixxir/crypto v0.0.7-0.20220901215826-1ceaeb59081f/go.mod h1:IYRYQwpS3zhTVtrir+kGGTqRCMI3It/i6mGW/mxezrM=
+gitlab.com/elixxir/ekv v0.2.1-0.20220901224437-ab4cbf94bf8b h1:0cN/WHbFaonJEN+odqyjtSrkuEbBnEnWfggT91svPGc=
+gitlab.com/elixxir/ekv v0.2.1-0.20220901224437-ab4cbf94bf8b/go.mod h1:USLD7xeDnuZEavygdrgzNEwZXeLQJK/w1a+htpN+JEU=
 gitlab.com/elixxir/primitives v0.0.0-20200731184040-494269b53b4d/go.mod h1:OQgUZq7SjnE0b+8+iIAT2eqQF+2IFHn73tOo+aV11mg=
 gitlab.com/elixxir/primitives v0.0.0-20200804170709-a1896d262cd9/go.mod h1:p0VelQda72OzoUckr1O+vPW0AiFe0nyKQ6gYcmFSuF8=
 gitlab.com/elixxir/primitives v0.0.0-20200804182913-788f47bded40/go.mod h1:tzdFFvb1ESmuTCOl1z6+yf6oAICDxH2NPUemVgoNLxc=
 gitlab.com/elixxir/primitives v0.0.1/go.mod h1:kNp47yPqja2lHSiS4DddTvFpB/4D9dB2YKnw5c+LJCE=
-gitlab.com/elixxir/primitives v0.0.3-0.20220222212109-d412a6e46623/go.mod h1:MtFIyJUQn9P7djzVlBpEYkPNnnWFTjZvw89swoXY+QM=
-gitlab.com/elixxir/primitives v0.0.3-0.20220323183834-b98f255361b8/go.mod h1:MtFIyJUQn9P7djzVlBpEYkPNnnWFTjZvw89swoXY+QM=
-gitlab.com/elixxir/primitives v0.0.3-0.20220606195757-40f7a589347f h1:CTf2+ewHWYrzp5Ar3RwNvHePfTHyFniJTVjFW4zqoaE=
 gitlab.com/elixxir/primitives v0.0.3-0.20220606195757-40f7a589347f/go.mod h1:9Bb2+u+CDSwsEU5Droo6saDAXuBDvLRjexpBhPAYxhA=
+gitlab.com/elixxir/primitives v0.0.3-0.20220810173935-592f34a88326/go.mod h1:9Bb2+u+CDSwsEU5Droo6saDAXuBDvLRjexpBhPAYxhA=
+gitlab.com/elixxir/primitives v0.0.3-0.20220901220638-1acc75fabdc6 h1:/cxxZBP5jTPDpC3zgOx9vV1ojmJyG8pYtkl3IbcewNQ=
+gitlab.com/elixxir/primitives v0.0.3-0.20220901220638-1acc75fabdc6/go.mod h1:9Bb2+u+CDSwsEU5Droo6saDAXuBDvLRjexpBhPAYxhA=
 gitlab.com/xx_network/comms v0.0.0-20200805174823-841427dd5023/go.mod h1:owEcxTRl7gsoM8c3RQ5KAm5GstxrJp5tn+6JfQ4z5Hw=
-gitlab.com/xx_network/comms v0.0.4-0.20220315161313-76acb14429ac/go.mod h1:isHnwem0v4rTcwwHP455FhVlFyPcHkHiVz+N3s/uCSI=
-gitlab.com/xx_network/comms v0.0.4-0.20220630163702-f3d372ef6acd h1:qYR2V/8KliGyJ2clWpVYhpgwpnfS1MXGpAbrFoOkSWk=
 gitlab.com/xx_network/comms v0.0.4-0.20220630163702-f3d372ef6acd/go.mod h1:TraR4sW+YxK/2CV+IQUNaAV61+ElrBV0kXd5HLEjM7M=
+gitlab.com/xx_network/comms v0.0.4-0.20220902183108-fe7b710b7efe h1:AiivMJmow6QqIZgCck5FFmvdyuq2hHFMAGs6koWXd14=
+gitlab.com/xx_network/comms v0.0.4-0.20220902183108-fe7b710b7efe/go.mod h1:TraR4sW+YxK/2CV+IQUNaAV61+ElrBV0kXd5HLEjM7M=
 gitlab.com/xx_network/crypto v0.0.3/go.mod h1:DF2HYvvCw9wkBybXcXAgQMzX+MiGbFPjwt3t17VRqRE=
 gitlab.com/xx_network/crypto v0.0.4/go.mod h1:+lcQEy+Th4eswFgQDwT0EXKp4AXrlubxalwQFH5O0Mk=
-gitlab.com/xx_network/crypto v0.0.5-0.20220222212031-750f7e8a01f4/go.mod h1:6apvsoHCQJDjO0J4E3uhR3yO9tTz/Mq5be5rjB3tQPU=
-gitlab.com/xx_network/crypto v0.0.5-0.20220317171841-084640957d71/go.mod h1:/SJf+R75E+QepdTLh0H1/udsovxx2Q5ru34q1v0umKk=
 gitlab.com/xx_network/crypto v0.0.5-0.20220606200528-3f886fe49e81/go.mod h1:/SJf+R75E+QepdTLh0H1/udsovxx2Q5ru34q1v0umKk=
-gitlab.com/xx_network/crypto v0.0.5-0.20220729193517-1e5e96f39f6e h1:k+M0zo9eyL2mGaduggdQnwxzOIqOIBV9WIt1QCq92sA=
 gitlab.com/xx_network/crypto v0.0.5-0.20220729193517-1e5e96f39f6e/go.mod h1:/SJf+R75E+QepdTLh0H1/udsovxx2Q5ru34q1v0umKk=
+gitlab.com/xx_network/crypto v0.0.5-0.20220902182733-69aad094b487 h1:CsnSSVw2o4PXFKo4OFbivjoLA0RE/Ktx9hxvtQRGNjw=
+gitlab.com/xx_network/crypto v0.0.5-0.20220902182733-69aad094b487/go.mod h1:/SJf+R75E+QepdTLh0H1/udsovxx2Q5ru34q1v0umKk=
 gitlab.com/xx_network/primitives v0.0.0-20200803231956-9b192c57ea7c/go.mod h1:wtdCMr7DPePz9qwctNoAUzZtbOSHSedcK++3Df3psjA=
 gitlab.com/xx_network/primitives v0.0.0-20200804183002-f99f7a7284da/go.mod h1:OK9xevzWCaPO7b1wiluVJGk7R5ZsuC7pHY5hteZFQug=
 gitlab.com/xx_network/primitives v0.0.2/go.mod h1:cs0QlFpdMDI6lAo61lDRH2JZz+3aVkHy+QogOB6F/qc=
 gitlab.com/xx_network/primitives v0.0.4-0.20220222211843-901fa4a2d72b/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE=
-gitlab.com/xx_network/primitives v0.0.4-0.20220317172007-4d2a53e6e669/go.mod h1:AXVVFt7dDAeIUpOGPiStCcUIKsBXLWbmV/BgZ4T+tOo=
 gitlab.com/xx_network/primitives v0.0.4-0.20220324193139-b292d1ae6e7e/go.mod h1:AXVVFt7dDAeIUpOGPiStCcUIKsBXLWbmV/BgZ4T+tOo=
 gitlab.com/xx_network/primitives v0.0.4-0.20220630163313-7890038258c6/go.mod h1:AXVVFt7dDAeIUpOGPiStCcUIKsBXLWbmV/BgZ4T+tOo=
-gitlab.com/xx_network/primitives v0.0.4-0.20220712193914-aebd8544396e h1:zRRo/v3KUo3MtpjNJaB03LR+Zi2g1afYF8yKWl1t19o=
 gitlab.com/xx_network/primitives v0.0.4-0.20220712193914-aebd8544396e/go.mod h1:AXVVFt7dDAeIUpOGPiStCcUIKsBXLWbmV/BgZ4T+tOo=
+gitlab.com/xx_network/primitives v0.0.4-0.20220902183448-319596e2fec8 h1:esjWkrzTD+bpTgT5NphhdpX/fbSpZRXLpPaXb4HqkXg=
+gitlab.com/xx_network/primitives v0.0.4-0.20220902183448-319596e2fec8/go.mod h1:AXVVFt7dDAeIUpOGPiStCcUIKsBXLWbmV/BgZ4T+tOo=
 gitlab.com/xx_network/ring v0.0.3-0.20220222211904-da613960ad93 h1:eJZrXqHsMmmejEPWw8gNAt0I8CGAMNO/7C339Zco3TM=
 gitlab.com/xx_network/ring v0.0.3-0.20220222211904-da613960ad93/go.mod h1:aLzpP2TiZTQut/PVHR40EJAomzugDdHXetbieRClXIM=
 go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A=
@@ -510,7 +499,6 @@ golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPh
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200707235045-ab33eee955e0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
 golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
@@ -518,6 +506,7 @@ golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5y
 golang.org/x/crypto v0.0.0-20220128200615-198e4374d7ed/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c=
 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
@@ -680,7 +669,6 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200917073148-efd3b9a0ff20/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201014080544-cc95f250f6bc/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
diff --git a/ud/manager.go b/ud/manager.go
index 5ab902fbb9f21059cb0538f900debc6d69b3e7bf..89edc765fa7820e761dd824b56dd4fb85cfdec4a 100644
--- a/ud/manager.go
+++ b/ud/manager.go
@@ -114,9 +114,7 @@ func NewOrLoad(user udE2e, comms Comms, follower udNetworkStatus,
 		return nil, err
 	}
 
-	err = m.store.StoreUsername(usernameFact)
-
-	return m, nil
+	return m, m.store.StoreUsername(usernameFact)
 }
 
 // NewManagerFromBackup builds a new user discover manager from a backup.
diff --git a/ud/store/facts.go b/ud/store/facts.go
index 37ad17b4f7f60cb54a4d708a2f0c8c5ac70c342f..4721b864ead28fb44a6e2a3c7bd7b87196d4c9f8 100644
--- a/ud/store/facts.go
+++ b/ud/store/facts.go
@@ -55,7 +55,7 @@ func (s *Store) StoreUsername(f fact.Fact) error {
 
 	s.confirmedFacts[f] = struct{}{}
 
-	return s.saveUnconfirmedFacts()
+	return s.saveConfirmedFacts()
 }
 
 // GetUsername retrieves the username from the Store object.
diff --git a/ud/store/facts_test.go b/ud/store/facts_test.go
index 9e3143139af82972f958e21d188cb38f84f190c2..3155d383b36e7eb95d218f3389fa62e0ba9be0b6 100644
--- a/ud/store/facts_test.go
+++ b/ud/store/facts_test.go
@@ -20,9 +20,9 @@ func TestNewStore(t *testing.T) {
 
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	_, err := NewStore(kv)
+	_, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 }
@@ -32,9 +32,9 @@ func TestStore_RestoreFromBackUp(t *testing.T) {
 
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	s, err := NewStore(kv)
+	s, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	expected := fact.Fact{
@@ -61,9 +61,9 @@ func TestStore_RestoreFromBackUp_StatefulStore(t *testing.T) {
 
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	s, err := NewStore(kv)
+	s, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	confirmId := "confirm"
@@ -90,9 +90,9 @@ func TestStore_RestoreFromBackUp_StatefulStore(t *testing.T) {
 func TestStore_ConfirmFact(t *testing.T) {
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	expectedStore, err := NewStore(kv)
+	expectedStore, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	confirmId := "confirm"
@@ -128,9 +128,9 @@ func TestStore_ConfirmFact(t *testing.T) {
 func TestStore_StoreUnconfirmedFact(t *testing.T) {
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	expectedStore, err := NewStore(kv)
+	expectedStore, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	confirmId := "confirm"
@@ -156,9 +156,9 @@ func TestStore_StoreUnconfirmedFact(t *testing.T) {
 func TestStore_DeleteFact(t *testing.T) {
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	expectedStore, err := NewStore(kv)
+	expectedStore, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	expected := fact.Fact{
@@ -188,9 +188,9 @@ func TestStore_DeleteFact(t *testing.T) {
 func TestStore_BackUpMissingFacts(t *testing.T) {
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	expectedStore, err := NewStore(kv)
+	expectedStore, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	email := fact.Fact{
@@ -228,9 +228,9 @@ func TestStore_BackUpMissingFacts(t *testing.T) {
 func TestStore_BackUpMissingFacts_DuplicateFactType(t *testing.T) {
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	expectedStore, err := NewStore(kv)
+	expectedStore, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	email := fact.Fact{
@@ -270,9 +270,9 @@ func TestStore_BackUpMissingFacts_DuplicateFactType(t *testing.T) {
 func TestStore_GetFacts(t *testing.T) {
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	testStore, err := NewStore(kv)
+	testStore, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	emailFact := fact.Fact{
@@ -324,9 +324,9 @@ func TestStore_GetFacts(t *testing.T) {
 func TestStore_GetFactStrings(t *testing.T) {
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	testStore, err := NewStore(kv)
+	testStore, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	emailFact := fact.Fact{
diff --git a/ud/store/store.go b/ud/store/store.go
index 11638fd53c17afcb61043125fa0b0404977d7030..5e5cfaaa8af245e9467e08bd4fa8d809c4b77b10 100644
--- a/ud/store/store.go
+++ b/ud/store/store.go
@@ -28,8 +28,7 @@ const (
 
 // Error constants
 const (
-	malformedFactErr = "Failed to load due to " +
-		"malformed fact"
+	malformedFactErr       = "Failed to load due to malformed fact %s"
 	loadConfirmedFactErr   = "Failed to load confirmed facts"
 	loadUnconfirmedFactErr = "Failed to load unconfirmed facts"
 	saveUnconfirmedFactErr = "Failed to save unconfirmed facts"
@@ -48,13 +47,13 @@ type Store struct {
 	mux              sync.RWMutex
 }
 
-// NewStore creates a new, empty Store object.
-func NewStore(kv *versioned.KV) (*Store, error) {
+// newStore creates a new, empty Store object.
+func newStore(kv *versioned.KV) (*Store, error) {
 	kv = kv.Prefix(prefix)
 
 	s := &Store{
-		confirmedFacts:   make(map[fact.Fact]struct{}, 0),
-		unconfirmedFacts: make(map[string]fact.Fact, 0),
+		confirmedFacts:   make(map[fact.Fact]struct{}),
+		unconfirmedFacts: make(map[string]fact.Fact),
 		kv:               kv,
 	}
 
@@ -130,14 +129,11 @@ func (s *Store) saveUnconfirmedFacts() error {
 func NewOrLoadStore(kv *versioned.KV) (*Store, error) {
 
 	s := &Store{
-		confirmedFacts:   make(map[fact.Fact]struct{}, 0),
-		unconfirmedFacts: make(map[string]fact.Fact, 0),
-		kv:               kv.Prefix(prefix),
+		kv: kv.Prefix(prefix),
 	}
-
 	if err := s.load(); err != nil {
 		if !s.kv.Exists(err) {
-			return s, s.save()
+			return newStore(kv)
 		} else {
 			return nil, err
 		}
@@ -205,11 +201,11 @@ func (s *Store) loadUnconfirmedFacts() error {
 /////////////////////////////////////////////////////////////////
 
 // unconfirmedFactDisk is an object used to store the data of an unconfirmed fact.
-// It combines the key (confirmationId) and fact data (stringifiedFact) into a
+// It combines the key (ConfirmationId) and fact data (StringifiedFact) into a
 // single JSON-able object.
 type unconfirmedFactDisk struct {
-	confirmationId  string
-	stringifiedFact string
+	ConfirmationId  string
+	StringifiedFact string
 }
 
 // marshalConfirmedFacts is a marshaller which serializes the data
@@ -229,8 +225,8 @@ func (s *Store) marshalUnconfirmedFacts() ([]byte, error) {
 	ufdList := make([]unconfirmedFactDisk, 0, len(s.unconfirmedFacts))
 	for confirmationId, f := range s.unconfirmedFacts {
 		ufd := unconfirmedFactDisk{
-			confirmationId:  confirmationId,
-			stringifiedFact: f.Stringify(),
+			ConfirmationId:  confirmationId,
+			StringifiedFact: f.Stringify(),
 		}
 		ufdList = append(ufdList, ufd)
 	}
@@ -250,10 +246,12 @@ func (s *Store) unmarshalConfirmedFacts(data []byte) (map[fact.Fact]struct{}, er
 
 	// Deserialize the list into a map
 	confirmedFacts := make(map[fact.Fact]struct{}, 0)
-	for _, fStr := range fStrings {
+	for i := range fStrings {
+		fStr := fStrings[i]
 		f, err := fact.UnstringifyFact(fStr)
 		if err != nil {
-			return nil, errors.WithMessage(err, malformedFactErr)
+			return confirmedFacts, errors.WithMessagef(err,
+				malformedFactErr, string(data))
 		}
 
 		confirmedFacts[f] = struct{}{}
@@ -274,13 +272,15 @@ func (s *Store) unmarshalUnconfirmedFacts(data []byte) (map[string]fact.Fact, er
 
 	// Deserialize the list into a map
 	unconfirmedFacts := make(map[string]fact.Fact, 0)
-	for _, ufd := range ufdList {
-		f, err := fact.UnstringifyFact(ufd.stringifiedFact)
+	for i := range ufdList {
+		ufd := ufdList[i]
+		f, err := fact.UnstringifyFact(ufd.StringifiedFact)
 		if err != nil {
-			return nil, errors.WithMessage(err, malformedFactErr)
+			return unconfirmedFacts, errors.WithMessagef(err,
+				malformedFactErr, string(data))
 		}
 
-		unconfirmedFacts[ufd.confirmationId] = f
+		unconfirmedFacts[ufd.ConfirmationId] = f
 	}
 
 	return unconfirmedFacts, nil
diff --git a/ud/store/store_test.go b/ud/store/store_test.go
index 33485b43e06dedc59b362410b2378ba535f55ce7..a319d81284e122e420c89efc3a3828826c95ae3a 100644
--- a/ud/store/store_test.go
+++ b/ud/store/store_test.go
@@ -20,9 +20,9 @@ import (
 func TestNewOrLoadStore_LoadStore(t *testing.T) {
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	expectedStore, err := NewStore(kv)
+	expectedStore, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	receivedStore, err := NewOrLoadStore(kv)
@@ -66,9 +66,9 @@ func TestNewOrLoadStore_NewStore(t *testing.T) {
 func TestStore_MarshalUnmarshal_ConfirmedFacts(t *testing.T) {
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	expectedStore, err := NewStore(kv)
+	expectedStore, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	data, err := expectedStore.kv.Get(confirmedFactKey, version)
@@ -82,7 +82,7 @@ func TestStore_MarshalUnmarshal_ConfirmedFacts(t *testing.T) {
 	}
 
 	if !bytes.Equal(expectedData, data.Data) {
-		t.Errorf("NewStore() returned incorrect Store."+
+		t.Errorf("newStore() returned incorrect Store."+
 			"\nexpected: %+v\nreceived: %+v", expectedData,
 			data.Data)
 	}
@@ -102,9 +102,9 @@ func TestStore_MarshalUnmarshal_ConfirmedFacts(t *testing.T) {
 func TestStore_MarshalUnmarshal_UnconfirmedFacts(t *testing.T) {
 	kv := versioned.NewKV(ekv.MakeMemstore())
 
-	expectedStore, err := NewStore(kv)
+	expectedStore, err := newStore(kv)
 	if err != nil {
-		t.Errorf("NewStore() produced an error: %v", err)
+		t.Errorf("newStore() produced an error: %v", err)
 	}
 
 	data, err := expectedStore.kv.Get(unconfirmedFactKey, version)
@@ -118,7 +118,7 @@ func TestStore_MarshalUnmarshal_UnconfirmedFacts(t *testing.T) {
 	}
 
 	if !bytes.Equal(expectedData, data.Data) {
-		t.Errorf("NewStore() returned incorrect Store."+
+		t.Errorf("newStore() returned incorrect Store."+
 			"\nexpected: %+v\nreceived: %+v", expectedData,
 			data.Data)
 	}