diff --git a/src/interval.hpp b/src/interval.hpp
index 6cf6b86..d442252 100644
--- a/src/interval.hpp
+++ b/src/interval.hpp
@@ -2,31 +2,31 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC is free software: you can redistribute it and/or modify it under the terms
  * of the GNU General Public License as published by the Free Software Foundation,
  * either version 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  * PURPOSE.  See the GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License along with
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
 
-#ifndef NDN_GEP_INTERVAL_HPP
-#define NDN_GEP_INTERVAL_HPP
+#ifndef NDN_NAC_INTERVAL_HPP
+#define NDN_NAC_INTERVAL_HPP
 
 #include "common.hpp"
 #include <boost/date_time/posix_time/posix_time.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 typedef boost::posix_time::ptime TimeStamp;
 
@@ -37,10 +37,7 @@
   class Error : public std::runtime_error
   {
   public:
-    explicit Error(const std::string& what)
-      : std::runtime_error(what)
-    {
-    }
+    using std::runtime_error::runtime_error;
   };
 
 public:
@@ -49,7 +46,8 @@
    *
    * @param isValid If isValid is true, the created interval is an empty interval
    */
-  explicit Interval(bool isValid = false);
+  explicit
+  Interval(bool isValid = false);
 
   Interval(const TimeStamp& startTime, const TimeStamp& endTime);
 
@@ -114,7 +112,7 @@
   bool m_isValid;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_INTERVAL_HPP
+#endif // NDN_NAC_INTERVAL_HPP
