diff --git a/src/chatroom-discovery-logic.hpp b/src/chatroom-discovery-logic.hpp
index 32b9c89..b5fea14 100644
--- a/src/chatroom-discovery-logic.hpp
+++ b/src/chatroom-discovery-logic.hpp
@@ -53,7 +53,7 @@
   void
   sendDiscoveryInterest();
 
-PUBLIC_WITH_TESTS_ELSE_PRIVATE:
+CHRONOCHAT_PUBLIC_WITH_TESTS_ELSE_PRIVATE:
   /**
    */
   void
@@ -79,7 +79,7 @@
   void
   addContacts(ChatroomInfo& chatroom);
 
-PUBLIC_WITH_TESTS_ELSE_PRIVATE:
+CHRONOCHAT_PUBLIC_WITH_TESTS_ELSE_PRIVATE:
 
   /** \brief erase the chatroom from the ongoing chatroom list
    */
diff --git a/src/common.hpp b/src/common.hpp
index 22e5de4..9b427b6 100644
--- a/src/common.hpp
+++ b/src/common.hpp
@@ -9,15 +9,15 @@
 #include "config.h"
 
 #ifdef WITH_TESTS
-#define VIRTUAL_WITH_TESTS virtual
-#define PUBLIC_WITH_TESTS_ELSE_PROTECTED public
-#define PUBLIC_WITH_TESTS_ELSE_PRIVATE public
-#define PROTECTED_WITH_TESTS_ELSE_PRIVATE protected
+#define CHRONOCHAT_VIRTUAL_WITH_TESTS virtual
+#define CHRONOCHAT_PUBLIC_WITH_TESTS_ELSE_PROTECTED public
+#define CHRONOCHAT_PUBLIC_WITH_TESTS_ELSE_PRIVATE public
+#define CHRONOCHAT_PROTECTED_WITH_TESTS_ELSE_PRIVATE protected
 #else
-#define VIRTUAL_WITH_TESTS
-#define PUBLIC_WITH_TESTS_ELSE_PROTECTED protected
-#define PUBLIC_WITH_TESTS_ELSE_PRIVATE private
-#define PROTECTED_WITH_TESTS_ELSE_PRIVATE private
+#define CHRONOCHAT_VIRTUAL_WITH_TESTS
+#define CHRONOCHAT_PUBLIC_WITH_TESTS_ELSE_PROTECTED protected
+#define CHRONOCHAT_PUBLIC_WITH_TESTS_ELSE_PRIVATE private
+#define CHRONOCHAT_PROTECTED_WITH_TESTS_ELSE_PRIVATE private
 #endif
 
 #include <cstddef>
@@ -66,7 +66,7 @@
 using ndn::KeyLocator;
 
 namespace tlv {
-using namespace ndn::Tlv;
+using namespace ndn::tlv;
 }
 
 namespace name = ndn::name;
diff --git a/src/controller-backend.cpp b/src/controller-backend.cpp
index af84cd7..7d9f4ef 100644
--- a/src/controller-backend.cpp
+++ b/src/controller-backend.cpp
@@ -143,7 +143,7 @@
 {
   // _LOG_DEBUG("onInvitationInterest: " << interest.getName());
   shared_ptr<Interest> invitationInterest =
-    make_shared<Interest>(boost::cref(interest.getName().getSubName(routingPrefixOffset)));
+    make_shared<Interest>(interest.getName().getSubName(routingPrefixOffset));
 
   // check if the chatroom already exists;
   try {
diff --git a/src/validator-invitation.cpp b/src/validator-invitation.cpp
index 3b53e26..dae4302 100644
--- a/src/validator-invitation.cpp
+++ b/src/validator-invitation.cpp
@@ -13,8 +13,6 @@
 
 #include "logging.h"
 
-using namespace ndn;
-
 namespace chronos {
 
 using std::vector;
@@ -106,8 +104,8 @@
                               "Invalid interest name: " +  interest.getName().toUri());
 
   Name signedName = interestName.getPrefix(-1);
-  Buffer signedBlob = Buffer(signedName.wireEncode().value(),
-                             signedName.wireEncode().value_size());
+  ndn::Buffer signedBlob = ndn::Buffer(signedName.wireEncode().value(),
+                                       signedName.wireEncode().value_size());
 
   Block signatureBlock = interestName.get(Invitation::SIGNATURE).blockFromValue();
   Block signatureInfo = interestName.get(Invitation::KEY_LOCATOR).blockFromValue();
