diff --git a/common.hpp b/common.hpp
new file mode 100644
index 0000000..50555fc
--- /dev/null
+++ b/common.hpp
@@ -0,0 +1,92 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2012-2014 University of California, Los Angeles
+ *
+ * This file is part of ChronoSync, synchronization library for distributed realtime
+ * applications for NDN.
+ *
+ * ChronoSync 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.
+ *
+ * ChronoSync 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
+ * ChronoSync, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @author Alexander Afanasyev <http://lasr.cs.ucla.edu/afanasyev/index.html>
+ * @author Yingdi Yu <yingdi@cs.ucla.edu>
+ */
+
+#ifndef CHRONOSYNC_COMMON_HPP
+#define CHRONOSYNC_COMMON_HPP
+
+#include "config.hpp"
+
+#ifdef _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
+#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
+#endif
+
+#include <cstddef>
+#include <list>
+#include <set>
+#include <queue>
+#include <vector>
+
+#include <ndn-cxx/common.hpp>
+#include <ndn-cxx/interest.hpp>
+#include <ndn-cxx/data.hpp>
+
+#include <boost/algorithm/string.hpp>
+#include <boost/asio.hpp>
+#include <boost/assert.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/property_tree/ptree.hpp>
+#include <boost/scoped_ptr.hpp>
+
+namespace chronosync {
+
+using std::size_t;
+
+using boost::noncopyable;
+using boost::scoped_ptr;
+
+using ndn::shared_ptr;
+using ndn::weak_ptr;
+using ndn::enable_shared_from_this;
+using ndn::make_shared;
+using ndn::static_pointer_cast;
+using ndn::dynamic_pointer_cast;
+using ndn::const_pointer_cast;
+using ndn::function;
+using ndn::bind;
+using ndn::ref;
+using ndn::cref;
+
+using ndn::Interest;
+using ndn::Data;
+using ndn::Name;
+using ndn::Exclude;
+using ndn::Block;
+
+namespace tlv {
+using namespace ndn::Tlv;
+}
+
+namespace name = ndn::name;
+namespace time = ndn::time;
+
+} // namespace chronosync
+
+#endif // CHRONOSYNC_COMMON_HPP
diff --git a/tests/main.cc b/tests/boost-test.hpp
similarity index 76%
copy from tests/main.cc
copy to tests/boost-test.hpp
index 1af6df7..7756923 100644
--- a/tests/main.cc
+++ b/tests/boost-test.hpp
@@ -17,7 +17,15 @@
  * ChronoSync, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#define BOOST_TEST_MAIN 1
-#define BOOST_TEST_DYN_LINK 1
+#ifndef CHRONOSYNC_TESTS_BOOST_TEST_HPP
+#define CHRONOSYNC_TESTS_BOOST_TEST_HPP
+
+// suppress warnings from Boost.Test
+#pragma GCC system_header
+#pragma clang system_header
 
 #include <boost/test/unit_test.hpp>
+#include <boost/concept_check.hpp>
+#include <boost/test/output_test_stream.hpp>
+
+#endif // CHRONOSYNC_TESTS_BOOST_TEST_HPP
diff --git a/tests/main.cc b/tests/main.cpp
similarity index 95%
rename from tests/main.cc
rename to tests/main.cpp
index 1af6df7..6185729 100644
--- a/tests/main.cc
+++ b/tests/main.cpp
@@ -20,4 +20,4 @@
 #define BOOST_TEST_MAIN 1
 #define BOOST_TEST_DYN_LINK 1
 
-#include <boost/test/unit_test.hpp>
+#include "boost-test.hpp"
diff --git a/tests/test-leaf.cc b/tests/test-leaf.cpp.outdated
similarity index 100%
rename from tests/test-leaf.cc
rename to tests/test-leaf.cpp.outdated
diff --git a/tests/test-data-fetch-and-publish.cc b/tests/unit-tests/test-data-fetch-and-publish.cpp.outdated
similarity index 100%
rename from tests/test-data-fetch-and-publish.cc
rename to tests/unit-tests/test-data-fetch-and-publish.cpp.outdated
diff --git a/tests/test-digest.cc b/tests/unit-tests/test-digest.cpp.outdated
similarity index 100%
rename from tests/test-digest.cc
rename to tests/unit-tests/test-digest.cpp.outdated
diff --git a/tests/main.cc b/tests/unit-tests/test-empty.cpp
similarity index 90%
copy from tests/main.cc
copy to tests/unit-tests/test-empty.cpp
index 1af6df7..e4abe0c 100644
--- a/tests/main.cc
+++ b/tests/unit-tests/test-empty.cpp
@@ -17,7 +17,9 @@
  * ChronoSync, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#define BOOST_TEST_MAIN 1
-#define BOOST_TEST_DYN_LINK 1
+#include "boost-test.hpp"
 
-#include <boost/test/unit_test.hpp>
+BOOST_AUTO_TEST_CASE(EmptyTest)
+{
+
+}
diff --git a/tests/test-interest-table.cc b/tests/unit-tests/test-interest-table.cpp.outdated
similarity index 95%
rename from tests/test-interest-table.cc
rename to tests/unit-tests/test-interest-table.cpp.outdated
index b5085c7..2db3eed 100644
--- a/tests/test-interest-table.cc
+++ b/tests/unit-tests/test-interest-table.cpp.outdated
@@ -33,7 +33,7 @@
 BOOST_AUTO_TEST_CASE (InterestTableTest)
 {
   // Alex: test is broken due to changes in SyncInterestTable
-  cerr << "InterestTableTest is broken" << endl;
+  // cerr << "InterestTableTest is broken" << endl;
 
   // SyncInterestTable *table = 0;
   // BOOST_CHECK_NO_THROW (table = new SyncInterestTable ());
diff --git a/tests/test-pit.cc b/tests/unit-tests/test-pit.cpp.outdated
similarity index 100%
rename from tests/test-pit.cc
rename to tests/unit-tests/test-pit.cpp.outdated
diff --git a/tests/test-scheduler.cc.tmp b/tests/unit-tests/test-scheduler.cc.tmp
similarity index 100%
rename from tests/test-scheduler.cc.tmp
rename to tests/unit-tests/test-scheduler.cc.tmp
diff --git a/tests/test-socket.cc b/tests/unit-tests/test-socket.cpp.outdated
similarity index 100%
rename from tests/test-socket.cc
rename to tests/unit-tests/test-socket.cpp.outdated
diff --git a/tests/test-state.cc.outdated b/tests/unit-tests/test-state.cc.outdated
similarity index 100%
rename from tests/test-state.cc.outdated
rename to tests/unit-tests/test-state.cc.outdated
diff --git a/tests/test-sync-logic.cc b/tests/unit-tests/test-sync-logic.cpp.outdated
similarity index 100%
rename from tests/test-sync-logic.cc
rename to tests/unit-tests/test-sync-logic.cpp.outdated
diff --git a/tests/test-sync-validator.cc b/tests/unit-tests/test-sync-validator.cpp.outdated
similarity index 100%
rename from tests/test-sync-validator.cc
rename to tests/unit-tests/test-sync-validator.cpp.outdated
diff --git a/tests/wscript b/tests/wscript
new file mode 100644
index 0000000..bc847a9
--- /dev/null
+++ b/tests/wscript
@@ -0,0 +1,22 @@
+# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
+from waflib import Utils
+
+top = '..'
+
+def build(bld):
+    unit_test_main = bld(
+        target='unit-tests-main',
+        name='unit-tests-main',
+        features='cxx',
+        source=bld.path.ant_glob(['*.cpp']),
+        use='ChronoSync',
+        )
+
+    unit_test = bld.program(
+        target="../unit-tests",
+        source=bld.path.ant_glob(['unit-tests/**/*.cpp']),
+        features=['cxx', 'cxxprogram'],
+        use='ChronoSync, unit-tests-main',
+        includes=['.'],
+        install_path=None,
+        )
diff --git a/wscript b/wscript
index fece357..ee2684a 100644
--- a/wscript
+++ b/wscript
@@ -34,34 +34,31 @@
         conf.define('_TESTS', 1);
         boost_libs += ' unit_test_framework'
 
+    conf.check_boost(lib=boost_libs)
+
     if conf.options.log4cxx:
         conf.check_cfg(package='liblog4cxx', args=['--cflags', '--libs'], uselib_store='LOG4CXX',
                        mandatory=True)
 
+    conf.write_config_header('config.hpp')
+
 def build(bld):
     libsync = bld(
         target="ChronoSync",
         # vnum = "1.0.0",
         features=['cxx', 'cxxshlib'],
-        source =  bld.path.ant_glob(['src/**/*.cc', 'src/**/*.proto']),
+        source =  bld.path.ant_glob(['src/**/*.cpp', 'src/**/*.proto']),
         use = 'BOOST NDN_CXX',
-        includes = ['src'],
+        includes = ['src', '.'],
         )
 
     # Unit tests
-    if bld.get_define("_TESTS"):
-      unittests = bld.program(
-          target="unit-tests",
-          source = bld.path.ant_glob(['tests/**/*.cc']),
-          features=['cxx', 'cxxprogram'],
-          use = 'ChronoSync',
-          includes = ['src'],
-          install_path = None,
-          )
+    if bld.env["_TESTS"]:
+        bld.recurse('tests')
 
     if bld.get_define("HAVE_LOG4CXX"):
         libsync.use += ' LOG4CXX'
-        if bld.get_define("_TESTS"):
+        if bld.env["_TESTS"]:
             unittests.use += ' LOG4CXX'
 
     bld.install_files(
