diff --git a/src/clients/query-controller.hpp b/src/clients/query-controller.hpp
index a78b5df..ac4c94a 100644
--- a/src/clients/query-controller.hpp
+++ b/src/clients/query-controller.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2020, Regents of the University of California.
+ * Copyright (c) 2014-2023, Regents of the University of California.
  *
  * This file is part of NDNS (Named Data Networking Domain Name Service).
  * See AUTHORS.md for complete list of NDNS authors and contributors.
@@ -36,16 +36,15 @@
  * @param[in] Data the Data packet which contains the Response, client should verify the packet
  * @param[in] Response the Final Response converted from Data
  */
-typedef function<void(const Data&, const Response&)> QuerySucceedCallback;
+using QuerySucceedCallback = std::function<void(const Data&, const Response&)>;
 
 /**
  * @brief callback function when failing to get the final Response
  */
-typedef function<void(uint32_t errCode, const std::string& errMsg)> QueryFailCallback;
+using QueryFailCallback = std::function<void(uint32_t errCode, const std::string& errMsg)>;
 
 /**
  * @brief a Query Controller interface
- *
  */
 class QueryController : boost::noncopyable
 {
@@ -73,10 +72,7 @@
   virtual void
   setStartComponentIndex(size_t startIndex) = 0;
 
-public:
-  ////////////////
-  // getter
-
+public: // getters
   const Name&
   getDstLabel() const
   {
@@ -104,7 +100,6 @@
   const QueryFailCallback m_onFail;
 
   Face& m_face;
-
 };
 
 std::ostream&
diff --git a/src/daemon/config-file.hpp b/src/daemon/config-file.hpp
index 29a0587..ae92322 100644
--- a/src/daemon/config-file.hpp
+++ b/src/daemon/config-file.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2023,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -35,24 +35,24 @@
 
 /** \brief a config file section
  */
-typedef boost::property_tree::ptree ConfigSection;
+using ConfigSection = boost::property_tree::ptree;
 
 /** \brief an optional config file section
  */
-typedef boost::optional<const ConfigSection&> OptionalConfigSection;
+using OptionalConfigSection = boost::optional<const ConfigSection&>;
 
 /** \brief callback to process a config file section
  */
-typedef function<void(const ConfigSection& section,
-                      bool isDryRun,
-                      const std::string& filename)> ConfigSectionHandler;
+using ConfigSectionHandler = std::function<void(const ConfigSection& section,
+                                                bool isDryRun,
+                                                const std::string& filename)>;
 
 /** \brief callback to process a config file section without a \p ConfigSectionHandler
  */
-typedef function<void(const std::string& filename,
-                      const std::string& sectionName,
-                      const ConfigSection& section,
-                      bool isDryRun)> UnknownConfigSectionHandler;
+using UnknownConfigSectionHandler = std::function<void(const std::string& filename,
+                                                       const std::string& sectionName,
+                                                       const ConfigSection& section,
+                                                       bool isDryRun)>;
 
 /** \brief configuration file parsing utility
  */
