diff --git a/namesys/publisher.go b/namesys/publisher.go
index 7123264dbfbaff3183ac0471794569a1b0cac961..5b2da0c17c9eac85e5b5b33b6861dfdd70a5124f 100644
--- a/namesys/publisher.go
+++ b/namesys/publisher.go
@@ -20,6 +20,8 @@ import (
 // invalid due to being too old
 var ErrExpiredRecord = errors.New("expired record")
 
+// ErrUnrecognizedValidity is returned when an IpnsRecord has an
+// unknown validity type.
 var ErrUnrecognizedValidity = errors.New("unrecognized validity type")
 
 // ipnsPublisher is capable of publishing and resolving names to the IPFS
@@ -107,6 +109,8 @@ func ipnsEntryDataForSig(e *pb.IpnsEntry) []byte {
 		[]byte{})
 }
 
+// ValidateIpnsRecord implements ValidatorFunc and verifies that the
+// given 'val' is an IpnsEntry and that that entry is valid.
 func ValidateIpnsRecord(k u.Key, val []byte) error {
 	entry := new(pb.IpnsEntry)
 	err := proto.Unmarshal(val, entry)
diff --git a/routing/dht/records.go b/routing/dht/records.go
index ee1257e24ca66d9e776f40c7bf811863f9058181..0a3b4f4e0cad590e564037591cabf85c6e356218 100644
--- a/routing/dht/records.go
+++ b/routing/dht/records.go
@@ -14,9 +14,16 @@ import (
 	u "github.com/jbenet/go-ipfs/util"
 )
 
+// ValidatorFunc is a function that is called to validate a given
+// type of DHTRecord.
 type ValidatorFunc func(u.Key, []byte) error
 
+// ErrBadRecord is returned any time a dht record is found to be
+// incorrectly formatted or signed.
 var ErrBadRecord = errors.New("bad dht record")
+
+// ErrInvalidRecordType is returned if a DHTRecord keys prefix
+// is not found in the Validator map of the DHT.
 var ErrInvalidRecordType = errors.New("invalid record keytype")
 
 // creates and signs a dht record for the given key/value pair
@@ -96,6 +103,9 @@ func (dht *IpfsDHT) verifyRecord(r *pb.Record) error {
 	return fnc(u.Key(r.GetKey()), r.GetValue())
 }
 
+// ValidatePublicKeyRecord implements ValidatorFunc and
+// verifies that the passed in record value is the PublicKey
+// that matches the passed in key.
 func ValidatePublicKeyRecord(k u.Key, val []byte) error {
 	keyparts := bytes.Split([]byte(k), []byte("/"))
 	if len(keyparts) < 3 {