diff --git a/daemon/rib/service.hpp b/daemon/rib/service.hpp
index 02e1914..3cedde4 100644
--- a/daemon/rib/service.hpp
+++ b/daemon/rib/service.hpp
@@ -43,7 +43,7 @@
 class Readvertise;
 
 /**
- * \brief initializes and executes NFD-RIB service thread
+ * \brief Initializes and executes the NFD-RIB service thread.
  *
  * Only one instance of this class can be created at any time.
  * After initialization, NFD-RIB instance can be started by running the global io_service.
@@ -52,7 +52,7 @@
 {
 public:
   /**
-   * \brief create NFD-RIB service
+   * \brief Create NFD-RIB service.
    * \param configFile absolute or relative path of configuration file
    * \param keyChain the KeyChain
    * \throw std::logic_error Instance of rib::Service has been already constructed
@@ -61,7 +61,7 @@
   Service(const std::string& configFile, ndn::KeyChain& keyChain);
 
   /**
-   * \brief create NFD-RIB service
+   * \brief Create NFD-RIB service.
    * \param configSection parsed configuration section
    * \param keyChain the KeyChain
    * \note This constructor overload is more appropriate for integrated environments,
@@ -72,13 +72,10 @@
    */
   Service(const ConfigSection& configSection, ndn::KeyChain& keyChain);
 
-  /**
-   * \brief Destructor
-   */
   ~Service();
 
   /**
-   * \brief Get a reference to the only instance of this class
+   * \brief Get a reference to the only instance of this class.
    * \throw std::logic_error No instance has been constructed
    * \throw std::logic_error This function is invoked on a thread other than the RIB thread
    */
@@ -86,7 +83,7 @@
   get();
 
   RibManager&
-  getRibManager()
+  getRibManager() noexcept
   {
     return m_ribManager;
   }
