diff --git a/src/encrypted-content.hpp b/src/encrypted-content.hpp
index 8a96fc7..53bad96 100644
--- a/src/encrypted-content.hpp
+++ b/src/encrypted-content.hpp
@@ -1,26 +1,26 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of gep (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of gep 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.
  *
- * gep 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.
  *
- * gep 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
- * gep, 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 Yingdi Yu <yingdi@cs.ucla.edu>
  */
 
-#ifndef NDN_ENCRYPTED_CONTENT_HPP
-#define NDN_ENCRYPTED_CONTENT_HPP
+#ifndef NDN_NAC_ENCRYPTED_CONTENT_HPP
+#define NDN_NAC_ENCRYPTED_CONTENT_HPP
 
 #include "tlv.hpp"
 #include <list>
@@ -28,7 +28,7 @@
 #include <ndn-cxx/key-locator.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 class EncryptedContent
 {
@@ -36,10 +36,7 @@
   class Error : public ndn::tlv::Error
   {
   public:
-    explicit Error(const std::string& what)
-      : ndn::tlv::Error(what)
-    {
-    }
+    using ndn::tlv::Error::Error;
   };
 
 public:
@@ -52,7 +49,8 @@
                    const uint8_t* iv = 0,
                    size_t ivLen = 0);
 
-  explicit EncryptedContent(const Block& block);
+  explicit
+  EncryptedContent(const Block& block);
 
   void
   setAlgorithmType(tlv::AlgorithmTypeValue type);
@@ -100,6 +98,7 @@
 public:
   bool
   operator==(const EncryptedContent& rhs) const;
+
   bool
   operator!=(const EncryptedContent& rhs) const
   {
@@ -116,7 +115,7 @@
   mutable Block m_wire;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_ENCRYPTED_CONTENT_HPP
+#endif // NDN_NAC_ENCRYPTED_CONTENT_HPP
