diff --git a/tools/nfdc/rib-module.hpp b/tools/nfdc/rib-module.hpp
index 22d4e76..d81f6a7 100644
--- a/tools/nfdc/rib-module.hpp
+++ b/tools/nfdc/rib-module.hpp
@@ -34,33 +34,33 @@
 using ndn::nfd::RibEntry;
 using ndn::nfd::Route;
 
-/** \brief provides access to NFD RIB management
+/** \brief Provides access to NFD RIB management.
  *  \sa https://redmine.named-data.net/projects/nfd/wiki/RibMgmt
  */
 class RibModule : public Module, noncopyable
 {
 public:
-  /** \brief register 'route list', 'route show', 'route add', 'route remove' commands
+  /** \brief Register 'route list', 'route show', 'route add', 'route remove' commands.
    */
   static void
   registerCommands(CommandParser& parser);
 
-  /** \brief the 'route list' command
+  /** \brief The 'route list' command.
    */
   static void
   list(ExecuteContext& ctx);
 
-  /** \brief the 'route show' command
+  /** \brief The 'route show' command.
    */
   static void
   show(ExecuteContext& ctx);
 
-  /** \brief the 'route add' command
+  /** \brief The 'route add' command.
    */
   static void
   add(ExecuteContext& ctx);
 
-  /** \brief the 'route remove' command
+  /** \brief The 'route remove' command.
    */
   static void
   remove(ExecuteContext& ctx);
@@ -83,21 +83,21 @@
   static void
   listRoutesImpl(ExecuteContext& ctx, const RoutePredicate& filter);
 
-  /** \brief format a single status item as XML
+  /** \brief Format a single status item as XML.
    *  \param os output stream
    *  \param item status item
    */
   void
   formatItemXml(std::ostream& os, const RibEntry& item) const;
 
-  /** \brief format a RibEntry as text
+  /** \brief Format a RibEntry as text.
    *  \param os output stream
    *  \param entry RIB entry
    */
   static void
   formatEntryText(std::ostream& os, const RibEntry& entry);
 
-  /** \brief format a Route as text
+  /** \brief Format a Route as text.
    *  \param os output stream
    *  \param entry RIB entry
    *  \param route RIB route within \p entry
