diff --git a/src/configuration.cpp b/src/configuration.cpp
index b400a2f..5b01efc 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -185,6 +185,8 @@
 
 } // namespace ca
 
+namespace requester {
+
 void
 RequesterCaCache::load(const std::string& fileName)
 {
@@ -249,5 +251,6 @@
   m_caItems.push_back(profile);
 }
 
+} // namespace requester
 } // namespace ndncert
 } // namespace ndn
diff --git a/src/configuration.hpp b/src/configuration.hpp
index d13397c..3671e20 100644
--- a/src/configuration.hpp
+++ b/src/configuration.hpp
@@ -142,6 +142,8 @@
 
 } // namespace ca
 
+namespace requester {
+
 /**
  * @brief Represents Client configuration
  *
@@ -178,6 +180,7 @@
   std::list<CaProfile> m_caItems;
 };
 
+} // namespace requester
 } // namespace ndncert
 } // namespace ndn
 
diff --git a/src/detail/challenge-encoder.cpp b/src/detail/challenge-encoder.cpp
index f3ebb5a..fed4110 100644
--- a/src/detail/challenge-encoder.cpp
+++ b/src/detail/challenge-encoder.cpp
@@ -40,7 +40,7 @@
 }
 
 void
-ChallengeEncoder::decodeDataContent(const Block& data, RequesterState& state)
+ChallengeEncoder::decodeDataContent(const Block& data, requester::RequesterState& state)
 {
   data.parse();
   state.m_status = static_cast<Status>(readNonNegativeInteger(data.get(tlv::Status)));
diff --git a/src/detail/challenge-encoder.hpp b/src/detail/challenge-encoder.hpp
index b47938e..541ad60 100644
--- a/src/detail/challenge-encoder.hpp
+++ b/src/detail/challenge-encoder.hpp
@@ -34,7 +34,7 @@
   encodeDataContent(const ca::RequestState& request);
 
   static void
-  decodeDataContent(const Block& data, RequesterState& state);
+  decodeDataContent(const Block& data, requester::RequesterState& state);
 };
 
 } // namespace ndncert
diff --git a/src/requester-state.cpp b/src/requester-state.cpp
index 4cb448b..0c4755d 100644
--- a/src/requester-state.cpp
+++ b/src/requester-state.cpp
@@ -22,6 +22,7 @@
 
 namespace ndn {
 namespace ndncert {
+namespace requester {
 
 RequesterState::RequesterState(security::KeyChain& keyChain, const CaProfile& caItem, RequestType requestType)
   : m_caItem(caItem)
@@ -30,5 +31,6 @@
 {
 }
 
+} // namespace requester
 } // namespace ndncert
 } // namespace ndn
\ No newline at end of file
diff --git a/src/requester-state.hpp b/src/requester-state.hpp
index fed7743..a6f1028 100644
--- a/src/requester-state.hpp
+++ b/src/requester-state.hpp
@@ -27,6 +27,7 @@
 
 namespace ndn {
 namespace ndncert {
+namespace requester {
 
 struct RequesterState {
   explicit
@@ -99,6 +100,7 @@
   bool m_isNewlyCreatedKey = false;
 };
 
+} // namespace requester
 } // namespace ndncert
 } // namespace ndn
 
diff --git a/src/requester.cpp b/src/requester.cpp
index af3f6c4..b0f65d5 100644
--- a/src/requester.cpp
+++ b/src/requester.cpp
@@ -38,6 +38,7 @@
 
 namespace ndn {
 namespace ndncert {
+namespace requester {
 
 NDN_LOG_INIT(ndncert.client);
 
@@ -73,7 +74,6 @@
   return caItem;
 }
 
-
 optional<CaProfile>
 Requester::onCaProfileResponseAfterRedirection(const Data& reply, const Name& caCertFullName)
 {
@@ -324,5 +324,6 @@
                                " and Error Info: " + std::get<1>(errorInfo)));
 }
 
+} // namespace requester
 } // namespace ndncert
 } // namespace ndn
diff --git a/src/requester.hpp b/src/requester.hpp
index cb3d10d..fddd35b 100644
--- a/src/requester.hpp
+++ b/src/requester.hpp
@@ -25,10 +25,7 @@
 
 namespace ndn {
 namespace ndncert {
-
-// TODO
-// For each RequesterState, create a validator instance and initialize it with CA's cert
-// The validator instance should be in CaProfile
+namespace requester {
 
 class Requester : noncopyable
 {
@@ -206,6 +203,7 @@
   processIfError(const Data& data);
 };
 
+} // namespace requester
 } // namespace ndncert
 } // namespace ndn
 
