diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index 9125cc6..83a5936 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -111,14 +111,14 @@
 }
 
 shared_ptr<Data>
-CaModule::generateCaConfigMetaData()
+CaModule::generateCaProfileMetaData()
 {
   // @TODO
   // make metadata a class member variable m_infoMetadata
   // check whether the m_infoMetadata has the latest versioned name, if not, then generate a new one
   // otherwise, directly reply m_infoMetadata.makeData
 
-  auto infoPacket = generateCaConfigData();
+  auto infoPacket = generateCaProfileData();
   MetadataObject metadata;
   metadata.setVersionedName(infoPacket->getName().getPrefix(-1));
   Name discoveryInterestName(infoPacket->getName().getPrefix(-2));
@@ -129,7 +129,7 @@
 }
 
 shared_ptr<Data>
-CaModule::generateCaConfigData()
+CaModule::generateCaProfileData()
 {
   // @TODO
   // make CaInfo Data packet a class member variable m_infoData
diff --git a/src/ca-module.hpp b/src/ca-module.hpp
index 76713d0..fe4ccf9 100644
--- a/src/ca-module.hpp
+++ b/src/ca-module.hpp
@@ -56,13 +56,10 @@
 
 PUBLIC_WITH_TESTS_ELSE_PRIVATE:
   shared_ptr<Data>
-  generateCaConfigMetaData();
+  generateCaProfileMetaData();
 
   shared_ptr<Data>
-  generateCaConfigData();
-
-  void
-  onInfo(const Interest& request);
+  generateCaProfileData();
 
   void
   onProbe(const Interest& request);
diff --git a/src/name-assignments/assignment-or.cpp b/src/name-assignments/assignment-or.cpp
index cd1f306..6fc3e97 100644
--- a/src/name-assignments/assignment-or.cpp
+++ b/src/name-assignments/assignment-or.cpp
@@ -8,8 +8,6 @@
 namespace ndn {
 namespace ndncert {
 
-_LOG_INIT(ndncert.assignment.or);
-
 NDNCERT_REGISTER_FUNCFACTORY(AssignmentOr, "or");
 
 AssignmentOr::AssignmentOr()
diff --git a/tests/unit-tests/bench.t.cpp b/tests/unit-tests/bench.t.cpp
index 09986c6..4a337d4 100644
--- a/tests/unit-tests/bench.t.cpp
+++ b/tests/unit-tests/bench.t.cpp
@@ -38,8 +38,8 @@
 
   util::DummyClientFace face(io, m_keyChain, {true, true});
   CaModule ca(face, m_keyChain, "tests/unit-tests/config-files/config-ca-1", "ca-storage-memory");
-  auto metaData = ca.generateCaConfigMetaData();
-  auto profileData = ca.generateCaConfigData();
+  auto metaData = ca.generateCaProfileMetaData();
+  auto profileData = ca.generateCaProfileData();
   advanceClocks(time::milliseconds(20), 60);
 
   Interest interest = MetadataObject::makeDiscoveryInterest(Name("/ndn/CA/INFO"));
diff --git a/tests/unit-tests/ca-module.t.cpp b/tests/unit-tests/ca-module.t.cpp
index 774484d..3cb60de 100644
--- a/tests/unit-tests/ca-module.t.cpp
+++ b/tests/unit-tests/ca-module.t.cpp
@@ -51,8 +51,8 @@
 
   util::DummyClientFace face(io, m_keyChain, {true, true});
   CaModule ca(face, m_keyChain, "tests/unit-tests/config-files/config-ca-1", "ca-storage-memory");
-  auto metaData = ca.generateCaConfigMetaData();
-  auto profileData = ca.generateCaConfigData();
+  auto metaData = ca.generateCaProfileMetaData();
+  auto profileData = ca.generateCaProfileData();
   advanceClocks(time::milliseconds(20), 60);
 
   Interest interest = MetadataObject::makeDiscoveryInterest(Name("/ndn/CA/INFO"));
