diff --git a/tools/ndn-autoconfig/multicast-discovery.hpp b/tools/ndn-autoconfig/multicast-discovery.hpp
index b2a63ed..f8a86d8 100644
--- a/tools/ndn-autoconfig/multicast-discovery.hpp
+++ b/tools/ndn-autoconfig/multicast-discovery.hpp
@@ -33,7 +33,7 @@
 
 namespace ndn::autoconfig {
 
-/** \brief multicast discovery stage
+/** \brief Multicast discovery stage.
  *
  *  This stage locates an NDN gateway router, commonly known as a "hub", in the local network by
  *  sending a hub discovery Interest ndn:/localhop/ndn-autoconf/hub via multicast. This class
diff --git a/tools/ndn-autoconfig/ndn-fch-discovery.cpp b/tools/ndn-autoconfig/ndn-fch-discovery.cpp
index c6df1b7..52521e7 100644
--- a/tools/ndn-autoconfig/ndn-fch-discovery.cpp
+++ b/tools/ndn-autoconfig/ndn-fch-discovery.cpp
@@ -127,11 +127,7 @@
 class HttpException : public std::runtime_error
 {
 public:
-  explicit
-  HttpException(const std::string& what)
-    : std::runtime_error(what)
-  {
-  }
+  using std::runtime_error::runtime_error;
 };
 
 NdnFchDiscovery::NdnFchDiscovery(const std::string& url)
diff --git a/tools/ndn-autoconfig/ndn-fch-discovery.hpp b/tools/ndn-autoconfig/ndn-fch-discovery.hpp
index 64d3899..cfdcb51 100644
--- a/tools/ndn-autoconfig/ndn-fch-discovery.hpp
+++ b/tools/ndn-autoconfig/ndn-fch-discovery.hpp
@@ -31,15 +31,15 @@
 namespace ndn::autoconfig {
 
 /**
- * @brief Discovery NDN hub using NDN-FCH protocol
+ * @brief Discover NDN hub using NDN-FCH protocol.
  *
- * @see https://github.com/cawka/ndn-fch/blob/master/README.md
+ * @see https://github.com/named-data/ndn-fch/blob/master/README.md
  */
 class NdnFchDiscovery : public Stage
 {
 public:
   /**
-   * @brief Create stage to discover NDN hub using NDN-FCH protocol
+   * @brief Create stage to discover NDN hub using NDN-FCH protocol.
    */
   explicit
   NdnFchDiscovery(const std::string& url);
diff --git a/tools/ndn-autoconfig/procedure.hpp b/tools/ndn-autoconfig/procedure.hpp
index c5dc0bb..0af3980 100644
--- a/tools/ndn-autoconfig/procedure.hpp
+++ b/tools/ndn-autoconfig/procedure.hpp
@@ -52,7 +52,7 @@
   void
   initialize(const Options& options);
 
-  /** \brief run HUB discovery procedure once
+  /** \brief Run HUB discovery procedure once.
    */
   void
   runOnce();
@@ -74,7 +74,7 @@
   registerPrefixes(uint64_t hubFaceId, size_t index = 0);
 
 public:
-  /** \brief signal when procedure completes
+  /** \brief Signal when procedure completes.
    *
    *  Argument indicates whether the procedure succeeds (true) or fails (false).
    */
diff --git a/tools/ndn-autoconfig/stage.hpp b/tools/ndn-autoconfig/stage.hpp
index d11309b..7c1247c 100644
--- a/tools/ndn-autoconfig/stage.hpp
+++ b/tools/ndn-autoconfig/stage.hpp
@@ -33,7 +33,7 @@
 
 namespace ndn::autoconfig {
 
-/** \brief a discovery stage
+/** \brief A discovery stage.
  */
 class Stage : boost::noncopyable
 {
@@ -47,20 +47,20 @@
   virtual
   ~Stage() = default;
 
-  /** \brief get stage name
+  /** \brief Get stage name.
    *  \return stage name as a phrase, typically starting with lower case
    */
   virtual const std::string&
   getName() const = 0;
 
-  /** \brief start running this stage
+  /** \brief Start running this stage.
    *  \throw Error stage is already running
    */
   void
   start();
 
 protected:
-  /** \brief parse HUB FaceUri from string and declare success
+  /** \brief Parse HUB FaceUri from string and declare success.
    */
   void
   provideHubFaceUri(const std::string& s);
@@ -76,13 +76,13 @@
   doStart() = 0;
 
 public:
-  /** \brief signal when a HUB FaceUri is found
+  /** \brief Signal when a HUB FaceUri is found.
    *
    *  Argument is HUB FaceUri, may not be canonical.
    */
   util::Signal<Stage, FaceUri> onSuccess;
 
-  /** \brief signal when discovery fails
+  /** \brief Signal when discovery fails.
    *
    *  Argument is error message.
    */
