diff --git a/src/publisher/lsa-publisher.hpp b/src/publisher/lsa-publisher.hpp
index 1c33242..6726b5a 100644
--- a/src/publisher/lsa-publisher.hpp
+++ b/src/publisher/lsa-publisher.hpp
@@ -44,7 +44,9 @@
                         ndn::Face& face,
                         ndn::KeyChain& keyChain);
 
-  /*! \brief Returns the adj. LSAs represented by this object. */
+  /*! \brief Generates an TLV-format AdjacencyLsa from AdjacencyLsas
+   * and their Adjacents.
+   */
   std::list<tlv::AdjacencyLsa>
   getTlvLsas();
 
@@ -65,7 +67,9 @@
                         ndn::Face& face,
                         ndn::KeyChain& keyChain);
 
-  /*! \brief Returns the cor. LSAs represented by this object. */
+  /*! \brief Generates a TLV-format CoordinateLsa from CoordinateLsas
+   * and their hyperbolic coordinates.
+   */
   std::list<tlv::CoordinateLsa>
   getTlvLsas();
 
@@ -85,7 +89,10 @@
   NameLsaPublisher(Lsdb& lsdb,
                    ndn::Face& face,
                    ndn::KeyChain& keyChain);
-  /*! \brief Returns the name LSAs represented by this object. */
+
+  /*! \brief Generates a TLV-format NameLsa from NameLsas and their
+   * list of name prefixes.
+   */
   std::list<tlv::NameLsa>
   getTlvLsas();
 
diff --git a/src/publisher/lsdb-dataset-interest-handler.hpp b/src/publisher/lsdb-dataset-interest-handler.hpp
index f8aa025..b92a72f 100644
--- a/src/publisher/lsdb-dataset-interest-handler.hpp
+++ b/src/publisher/lsdb-dataset-interest-handler.hpp
@@ -69,7 +69,8 @@
   }
 
 private:
-  /*! \brief set dispatcher for localhost/router name.
+  /*! \brief Capture-point for Interests to verify Interests are
+   * valid, and then process them.
    */
   void
   setDispatcher(ndn::mgmt::Dispatcher& dispatcher);
diff --git a/src/publisher/segment-publisher.hpp b/src/publisher/segment-publisher.hpp
index 82109eb..59c44b4 100644
--- a/src/publisher/segment-publisher.hpp
+++ b/src/publisher/segment-publisher.hpp
@@ -52,6 +52,8 @@
   {
   }
 
+  /*! \brief Define the max segment size as half the max NDN packet size.
+   */
   static size_t
   getMaxSegmentSize()
   {
@@ -65,7 +67,12 @@
     return ndn::time::milliseconds(1000);
   }
 
-  /*! \brief Publish data under provided prefix
+  /*! \brief Publish data under the provided prefix
+   *
+   * Processes whatever is provided from SegmentPublisher::generate,
+   * by breaking it into segments of MAX_SEGMENT_SIZE and sending each
+   * one individually. The last segment is distinguished by having the
+   * final block ID set to a timestamp.
    */
   void
   publish(const ndn::Name& prefix,
@@ -112,6 +119,8 @@
   generate(ndn::EncodingBuffer& outBuffer) = 0;
 
 private:
+  /*! \brief Helper function to sign and put data on a Face.
+   */
   void
   publishSegment(std::shared_ptr<ndn::Data>& data, const ndn::security::SigningInfo& signingInfo)
   {
