diff --git a/ud/channelIDTracking.go b/ud/channelIDTracking.go
index 8f9f4f918abbb4ce810f199146c48fb904396aba..5ae31f345a1d0eff120679f81af6b169d7e1e1d7 100644
--- a/ud/channelIDTracking.go
+++ b/ud/channelIDTracking.go
@@ -49,6 +49,8 @@ type NameService interface {
 	ValidateChannelMessage(username string, lease time.Time, pubKey ed25519.PublicKey, authorIDSignature []byte) bool
 }
 
+// loadRegistrationDisk loads a registrationDisk from the kv
+// and returns the registrationDisk.
 func loadRegistrationDisk(kv *versioned.KV) (registrationDisk, error) {
 	obj, err := kv.Get(registrationDiskKey, registrationDiskVersion)
 	if err != nil {
@@ -57,6 +59,8 @@ func loadRegistrationDisk(kv *versioned.KV) (registrationDisk, error) {
 	return UnmarshallRegistrationDisk(obj.Data)
 }
 
+// saveRegistrationDisk saves the given saveRegistrationDisk to
+// the given kv.
 func saveRegistrationDisk(kv *versioned.KV, reg registrationDisk) error {
 	regBytes, err := reg.Marshall()
 	if err != nil {
@@ -71,6 +75,8 @@ func saveRegistrationDisk(kv *versioned.KV, reg registrationDisk) error {
 	return nil
 }
 
+// registrationDisk is used to encapsulate the channel user's key pair,
+// lease and lease signature.
 type registrationDisk struct {
 	rwmutex sync.RWMutex
 
@@ -80,6 +86,7 @@ type registrationDisk struct {
 	Signature  []byte
 }
 
+// newRegistrationDisk creates a new newRegistrationDisk.
 func newRegistrationDisk(publicKey ed25519.PublicKey, privateKey ed25519.PrivateKey,
 	lease time.Time, signature []byte) registrationDisk {
 	return registrationDisk{
@@ -90,6 +97,8 @@ func newRegistrationDisk(publicKey ed25519.PublicKey, privateKey ed25519.Private
 	}
 }
 
+// Update updates the registrationDisk that is currently
+// stored on the kv with a new lease and lease signature.
 func (r registrationDisk) Update(lease int64, signature []byte) {
 	r.rwmutex.Lock()
 	defer r.rwmutex.Unlock()
@@ -98,6 +107,7 @@ func (r registrationDisk) Update(lease int64, signature []byte) {
 	r.Signature = signature
 }
 
+// Marshall marshalls the registrationDisk.
 func (r registrationDisk) Marshall() ([]byte, error) {
 	r.rwmutex.RLock()
 	defer r.rwmutex.RUnlock()
@@ -105,6 +115,7 @@ func (r registrationDisk) Marshall() ([]byte, error) {
 	return json.Marshal(&r)
 }
 
+// UnmarshallRegistrationDisk unmarshalls a registrationDisk
 func UnmarshallRegistrationDisk(data []byte) (registrationDisk, error) {
 	var r registrationDisk
 	err := json.Unmarshal(data, &r)
@@ -114,6 +125,7 @@ func UnmarshallRegistrationDisk(data []byte) (registrationDisk, error) {
 	return r, nil
 }
 
+// GetLease returns the current registrationDisk lease.
 func (r registrationDisk) GetLease() time.Time {
 	r.rwmutex.RLock()
 	defer r.rwmutex.RUnlock()
@@ -121,6 +133,7 @@ func (r registrationDisk) GetLease() time.Time {
 	return time.Unix(0, r.Lease)
 }
 
+// GetPublicKey returns the current public key.
 func (r registrationDisk) GetPublicKey() ed25519.PublicKey {
 	r.rwmutex.RLock()
 	defer r.rwmutex.RUnlock()
@@ -128,6 +141,7 @@ func (r registrationDisk) GetPublicKey() ed25519.PublicKey {
 	return r.PublicKey
 }
 
+// GetPrivateKey returns the current private key.
 func (r registrationDisk) GetPrivateKey() ed25519.PrivateKey {
 	r.rwmutex.RLock()
 	defer r.rwmutex.RUnlock()
@@ -135,6 +149,7 @@ func (r registrationDisk) GetPrivateKey() ed25519.PrivateKey {
 	return r.PrivateKey
 }
 
+// GetLeaseSignature returns the currentl signature and lease time.
 func (r registrationDisk) GetLeaseSignature() ([]byte, time.Time) {
 	r.rwmutex.RLock()
 	defer r.rwmutex.RUnlock()
@@ -142,6 +157,9 @@ func (r registrationDisk) GetLeaseSignature() ([]byte, time.Time) {
 	return r.Signature, time.Unix(0, r.Lease)
 }
 
+// clientIDTracker encapsulates the client channel lease and the
+// repetitive scheduling of new lease registrations when the
+// current lease expires.
 type clientIDTracker struct {
 	kv *versioned.KV
 
@@ -157,8 +175,10 @@ type clientIDTracker struct {
 	udPubKey ed25519.PublicKey
 }
 
+// clientIDTracker implements the NameService interface.
 var _ NameService = (*clientIDTracker)(nil)
 
+// newclientIDTracker creates a new clientIDTracker.
 func newclientIDTracker(comms channelLeaseComms, host *connect.Host, username string, kv *versioned.KV,
 	receptionIdentity xxdk.ReceptionIdentity, udPubKey ed25519.PublicKey, rngSource *fastRNG.StreamGenerator) *clientIDTracker {
 
@@ -204,6 +224,8 @@ func (c *clientIDTracker) Start() (stoppable.Stoppable, error) {
 	return stopper, nil
 }
 
+// registrationWorker is meant to run in it's own goroutine
+// periodically registering, getting a new lease.
 func (c *clientIDTracker) registrationWorker(stopper *stoppable.Single) {
 	for {
 		if time.Now().After(c.registrationDisk.GetLease().Add(-graceDuration)) {
@@ -256,6 +278,9 @@ func (c *clientIDTracker) ValidateChannelMessage(username string, lease time.Tim
 	return channel.VerifyChannelLease(authorIDSignature, pubKey, username, lease, c.udPubKey)
 }
 
+// register causes a request for a new channel lease to be sent to
+// the user discovery server. If successful in procuration of a new lease
+// then it is written to the registrationDisk on the kv.
 func (c *clientIDTracker) register() error {
 	lease, signature, err := c.requestChannelLease()
 	if err != nil {
@@ -267,6 +292,8 @@ func (c *clientIDTracker) register() error {
 	return nil
 }
 
+// requestChannelLease requests a new channel lease
+// from the user discovery server.
 func (c *clientIDTracker) requestChannelLease() (int64, []byte, error) {
 	ts := time.Now().UnixNano()
 	privKey, err := c.receptionIdentity.GetRSAPrivateKey()