diff --git a/bindings/fileTransfer.go b/bindings/fileTransfer.go
index ee1d612640e9a2770919c270df03cce83922ebdd..3d8e068c3e07785a9ee87fc06651968124d33222 100644
--- a/bindings/fileTransfer.go
+++ b/bindings/fileTransfer.go
@@ -167,11 +167,13 @@ func InitFileTransfer(e2eID int, receiveFileCallback ReceiveFileCallback,
 		return nil, err
 	}
 
+	jww.INFO.Printf("[FT] Before AddService")
 	// Add file transfer processes to API services tracking
 	err = user.api.AddService(m.StartProcesses)
 	if err != nil {
 		return nil, err
 	}
+	jww.INFO.Printf("[FT] After AddService")
 
 	// Return wrapped manager
 	return &FileTransfer{w: w}, nil
diff --git a/e2e/receive/switchboard.go b/e2e/receive/switchboard.go
index 99b6bf170ddfd57f125873b390ed91f17b7c906c..ede8b70b5d09bb9337b57cc73f2320c2e945fb8c 100644
--- a/e2e/receive/switchboard.go
+++ b/e2e/receive/switchboard.go
@@ -64,11 +64,15 @@ func (sw *Switchboard) RegisterListener(user *id.ID,
 	}
 
 	//register the listener by both ID and messageType
+	jww.INFO.Printf("** Before Mux")
 	sw.mux.Lock()
 
+	jww.INFO.Printf("** Before ID Add")
 	sw.id.Add(lid)
+	jww.INFO.Printf("** Before messageType Add")
 	sw.messageType.Add(lid)
 
+	jww.INFO.Printf("** Before Mux unlock")
 	sw.mux.Unlock()
 
 	//return a ListenerID so it can be unregistered in the future
diff --git a/fileTransfer/e2e/wrapper.go b/fileTransfer/e2e/wrapper.go
index 1d35328ee4acb2b8791065727e78f82e9dc14e61..bd259ecf031e1d4da54895aad40e304216efd928 100644
--- a/fileTransfer/e2e/wrapper.go
+++ b/fileTransfer/e2e/wrapper.go
@@ -65,6 +65,8 @@ func NewWrapper(receiveCB ft.ReceiveCallback, p Params, ft ft.FileTransfer,
 	// Register listener to receive new file transfers
 	w.e2e.RegisterListener(&id.ZeroUser, catalog.NewFileTransfer, &listener{w})
 
+	jww.INFO.Printf("[FT] after RegisterListener")
+
 	return w, nil
 }
 
diff --git a/xxdk/cmix.go b/xxdk/cmix.go
index aa8fb76833fc97e2e73190294082b38a0c42d6f4..b3fe117d7a34e825fbb550d7e1148ce12f864a6e 100644
--- a/xxdk/cmix.go
+++ b/xxdk/cmix.go
@@ -414,6 +414,7 @@ func (c *Cmix) GetRoundEvents() interfaces.RoundEvents {
 // AddService adds a service to be controlled by the client thread control.
 // These will be started and stopped with the network follower.
 func (c *Cmix) AddService(sp Service) error {
+	jww.INFO.Printf("** Before followerServices.add")
 	return c.followerServices.add(sp)
 }
 
diff --git a/xxdk/services.go b/xxdk/services.go
index 840215dc1d3998ebc301766b6232ebef10384d39..fb90c9107cde8163d5391bc735faa7917ccca48b 100644
--- a/xxdk/services.go
+++ b/xxdk/services.go
@@ -9,6 +9,7 @@ package xxdk
 
 import (
 	"github.com/pkg/errors"
+	jww "github.com/spf13/jwalterweatherman"
 	"gitlab.com/elixxir/client/stoppable"
 	"sync"
 	"time"
@@ -38,18 +39,23 @@ func newServices() *services {
 // add appends the service process to the list and adds it to the multi-
 // stoppable. Start running it if services are running.
 func (s *services) add(sp Service) error {
+	jww.INFO.Printf("** Before services.mux.Lock")
 	s.mux.Lock()
 	defer s.mux.Unlock()
 
 	// append the process to the list
+	jww.INFO.Printf("** Before services append")
 	s.services = append(s.services, sp)
 
 	// if services are running, start the process
+	jww.INFO.Printf("** Before s.state == Running")
 	if s.state == Running {
+		jww.INFO.Printf("** Call service")
 		stop, err := sp()
 		if err != nil {
 			return errors.WithMessage(err, "Failed to start added service")
 		}
+		jww.INFO.Printf("** Call stoppable Add")
 		s.stoppable.Add(stop)
 	}
 	return nil