diff --git a/swig/boost_shared_ptr.i b/swig/boost_shared_ptr.i
deleted file mode 100644
index 7803b22154c79cba53773442e3387ca0e466f7da..0000000000000000000000000000000000000000
--- a/swig/boost_shared_ptr.i
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Wrapper for boost shared_ptr
- */
-#ifndef SWIG_BOOST_SHAREDPTR
-#define SWIG_BOOST_SHAREDPTR
-
-%module boost_shared_ptr
-%{
-%}
-
-namespace boost {
-  template<class T> class shared_ptr {
-  public:
-    shared_ptr();
-    shared_ptr(T * p);
-    T* operator->();
-  private:
-    T * px;
-    int pn;
-  };
-}
-
-using namespace boost;
-
-#endif /* SWIG_BOOST_SHAREDPTR */
diff --git a/swig/libcclannotationmatch.i b/swig/libcclannotationmatch.i
index 7a2c9176b8f524b813c96f8379acd4830b7144cc..ac1d4cb319b0c5596596f1dea3f946892d23d880 100644
--- a/swig/libcclannotationmatch.i
+++ b/swig/libcclannotationmatch.i
@@ -7,7 +7,7 @@
 %}
 
 %include "libcclmatchdata.i"
-%include "libcorpus/libcorpusannotatedsentence.i"
+%include "libcorpus2/libcorpusannotatedsentence.i"
 
 %include "std_string.i"
 
diff --git a/swig/libcclexpression.i b/swig/libcclexpression.i
index 84816e4b9eff26b659e87b6bc4164f62ebadf982..0d10cb4f492a39f39596fd25893dc70317d8ca51 100644
--- a/swig/libcclexpression.i
+++ b/swig/libcclexpression.i
@@ -7,7 +7,7 @@
   #include <boost/noncopyable.hpp>
 %}
 
-%include "libcorpus/libcorpustagset.i"
+%include "libcorpus2/libcorpustagset.i"
 %include "std_string.i"
 
 namespace Wccl {
diff --git a/swig/libcclfunctionaloperator.i b/swig/libcclfunctionaloperator.i
index a8a9b8d33b6f989155c763a4986e52ee640390c4..c4ccc8a93a36b1a32e936b7a85ffea9008b1cc5f 100644
--- a/swig/libcclfunctionaloperator.i
+++ b/swig/libcclfunctionaloperator.i
@@ -12,7 +12,7 @@
 %include "libcclparsedexpression.i"
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 // %template(ValuePtr) boost::shared_ptr<Wccl::Value>;
 %template(FunctionalOperatorPtr) boost::shared_ptr<Wccl::FunctionalOperator>;
diff --git a/swig/libcclfunctionalopsequence.i b/swig/libcclfunctionalopsequence.i
index d88f920eb74dc0ba50a32593653b26a62761dafe..b66e4e4cc1c0ffa59e39f0a275f6d332b90d9955 100644
--- a/swig/libcclfunctionalopsequence.i
+++ b/swig/libcclfunctionalopsequence.i
@@ -14,7 +14,7 @@
 %include "std_string.i"
 %include "std_vector.i"
 
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %nodefaultctor Wccl::FunctionalOpSequence;
 
diff --git a/swig/libccllexicon.i b/swig/libccllexicon.i
index c49dd7988bd98be4ae8bc66b1a55e4e279b6a5b4..1a3f136bb2e4a40bceab960776101e3d572894b1 100644
--- a/swig/libccllexicon.i
+++ b/swig/libccllexicon.i
@@ -12,7 +12,7 @@
 %include "libcclstrset.i"
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %rename(map_t) boost::unordered_map<UnicodeString, UnicodeString>;
 
diff --git a/swig/libccllexicons.i b/swig/libccllexicons.i
index 476a79007378a44199750fd9368c498aae2f8e2f..b56538601d40adf3110e1be3cc08689925fc62cd 100644
--- a/swig/libccllexicons.i
+++ b/swig/libccllexicons.i
@@ -9,7 +9,7 @@
 %include "libccllexicon.i"
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %rename(map_t) boost::unordered_map<std::string, boost::shared_ptr<Lexicon> >;
 
diff --git a/swig/libcclmatch.i b/swig/libcclmatch.i
index f64cefe2c8b71ad4ee145af6703b441a6d2d12ca..321d130a75d94027a3792974abfb4d1cb6728e77 100644
--- a/swig/libcclmatch.i
+++ b/swig/libcclmatch.i
@@ -11,10 +11,10 @@
 %include "libccltokenmatch.i"
 %include "libcclannotationmatch.i"
 %include "libcclmatchvector.i"
-%include "libcorpus/libcorpusannotatedsentence.i"
+%include "libcorpus2/libcorpusannotatedsentence.i"
 
 %include "std_string.i"
-// %include "boost_shared_ptr.i"
+// %include <libcorpus2/boost_shared_ptr.i>
 
 %feature("notabstract") Wccl::Match;
 
diff --git a/swig/libcclmatchdata.i b/swig/libcclmatchdata.i
index f25d53a5b15e14c4282d9bbf9c324e6bbbdad7b3..c92eae202e0ec7a0e3635ca49172dc0cad4955a0 100644
--- a/swig/libcclmatchdata.i
+++ b/swig/libcclmatchdata.i
@@ -7,10 +7,10 @@
 %}
 
 %include "libcclmatch.i"
-%include "libcorpus/libcorpusannotatedsentence.i"
+%include "libcorpus2/libcorpusannotatedsentence.i"
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %nodefaultctor Wccl::MatchData;
 
diff --git a/swig/libcclmatchrule.i b/swig/libcclmatchrule.i
index f2ca44c1761436396a7553bfe05e7611e97b73ce..b80319e1e28331cd966d4d6250e63251423b0b27 100644
--- a/swig/libcclmatchrule.i
+++ b/swig/libcclmatchrule.i
@@ -8,10 +8,10 @@
 
 %include "libcclvariables.i"
 %include "libcclparsedexpression.i"
-%include "libcorpus/libcorpusannotatedsentence.i"
+%include "libcorpus2/libcorpusannotatedsentence.i"
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 namespace Wccl {
   class MatchRule : public ParsedExpression {
diff --git a/swig/libcclmatchrulesequence.i b/swig/libcclmatchrulesequence.i
index eca44e3987e43b0b599eb1956f77313af2e4c7a6..d68f5fd0561787a2268ec846d04f7e5061b7d3ac 100644
--- a/swig/libcclmatchrulesequence.i
+++ b/swig/libcclmatchrulesequence.i
@@ -8,11 +8,11 @@
 
 %include "libcclmatchrule.i"
 %include "libcclexpression.i"
-%include "libcorpus/libcorpusannotatedsentence.i"
+%include "libcorpus2/libcorpusannotatedsentence.i"
 
 %include "std_string.i"
 %include "std_vector.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %template(MatchRuleVector) std::vector<Wccl::MatchRule>;
 %template(MatchRuleSequencePtr) boost::shared_ptr<Wccl::MatchRule>;
diff --git a/swig/libcclmatchvector.i b/swig/libcclmatchvector.i
index f5fa3bba7ce26a4541fa48443762749615a15c98..d96af40d4f4cd14ac121250880ef9b7decbaef16 100644
--- a/swig/libcclmatchvector.i
+++ b/swig/libcclmatchvector.i
@@ -10,10 +10,10 @@
 %include "libcclmatchdata.i"
 %include "libccltokenmatch.i"
 %include "libcclannotationmatch.i"
-%include "libcorpus/libcorpusannotatedsentence.i"
+%include "libcorpus2/libcorpusannotatedsentence.i"
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %template(MatchVectorPtr) boost::shared_ptr<Wccl::MatchVector>;
 
diff --git a/swig/libccloperator.i b/swig/libccloperator.i
index 6f32a56533de816ee857c9555ac9110002eec511..450d5551a1c4b5ea54a3a88bee3da4e23fc46c5e 100644
--- a/swig/libccloperator.i
+++ b/swig/libccloperator.i
@@ -17,7 +17,7 @@
 */
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %feature("notabstract") Wccl::Operator;
 
diff --git a/swig/libcclparsedexpression.i b/swig/libcclparsedexpression.i
index f6a4e879a0a858ee09cdb4ce5aa1782e6e86dd97..8c9e2b3591ff10a612d423e648245ec403235abb 100644
--- a/swig/libcclparsedexpression.i
+++ b/swig/libcclparsedexpression.i
@@ -16,7 +16,7 @@
 %include "libcclexpression.i"
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %template (ParsedExpressionPtr) boost::shared_ptr<Wccl::ParsedExpression>;
 
diff --git a/swig/libcclparser.i b/swig/libcclparser.i
index 658d57a658cdced8a5b5f4fac2c6599a5d9603ca..950f5a35e81ea03ce0ca993ed74e052548d18d8e 100644
--- a/swig/libcclparser.i
+++ b/swig/libcclparser.i
@@ -12,11 +12,11 @@
 %include "libcclwcclfile.i"
 %include "libcclfunctionaloperator.i"
 
-%include "libcorpus/libcorpustagset.i"
+%include "libcorpus2/libcorpustagset.i"
 
 %include "std_string.i"
 %include "std_vector.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 namespace Wccl {
   class Parser {
diff --git a/swig/libcclsentencecontext.i b/swig/libcclsentencecontext.i
index e3202d8ac16261c70f06ed60126b3411dbfbe0d2..462662680aec0560e0c7603f5d54fb320e3bcf41 100644
--- a/swig/libcclsentencecontext.i
+++ b/swig/libcclsentencecontext.i
@@ -6,14 +6,14 @@
   #include <libwccl/sentencecontext.h>
 %}
 
-%include "libcorpus/libcorpustoken.i"
-%include "libcorpus/libcorpuslexeme.i"
-%include "libcorpus/libcorpussentence.i"
+%include "libcorpus2/libcorpustoken.i"
+%include "libcorpus2/libcorpuslexeme.i"
+%include "libcorpus2/libcorpussentence.i"
 
 %include "libcclposition.i"
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 // %feature("notabstract") Wccl::SentenceContext;
 
diff --git a/swig/libccltagrule.i b/swig/libccltagrule.i
index b694be1a89c4285d6d3368cf0bb72ad21d9d04c2..b6f2f8156e4b9f0d7ec9536f033f4cd2cfbe252a 100644
--- a/swig/libccltagrule.i
+++ b/swig/libccltagrule.i
@@ -12,10 +12,10 @@
 %include "libcclsentencecontext.i"
 %include "libcclparsedexpression.i"
 
-%include "libcorpus/libcorpustagset.i"
+%include "libcorpus2/libcorpustagset.i"
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %template(TagRulePtr) boost::shared_ptr<Wccl::TagRule>;
 
diff --git a/swig/libccltagrulesequence.i b/swig/libccltagrulesequence.i
index 75aa8d827509f8329a01c0f0179a2c5884f9aa46..0f7f22445cb0e8037022f170f7c8d7aa310eda40 100644
--- a/swig/libccltagrulesequence.i
+++ b/swig/libccltagrulesequence.i
@@ -9,11 +9,11 @@
 %include "libcclbool.i"
 %include "libccltagrule.i"
 %include "libcclexpression.i"
-%include "libcorpus/libcorpussentence.i"
+%include "libcorpus2/libcorpussentence.i"
 
 %include "std_string.i"
 %include "std_vector.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %template(StdVectorTagRule) std::vector<TagRule>;
 %template(TagRuleSequencPtr) boost::shared_ptr<Wccl::TagRuleSequence>;
diff --git a/swig/libccltokenmatch.i b/swig/libccltokenmatch.i
index a4045e958103bf88f380027de1ae250c65340735..64834122d9ca1cbbe277cd37ce603a37d5e650d4 100644
--- a/swig/libccltokenmatch.i
+++ b/swig/libccltokenmatch.i
@@ -7,7 +7,7 @@
 %}
 
 %include "libcclmatchdata.i"
-%include "libcorpus/libcorpusannotatedsentence.i"
+%include "libcorpus2/libcorpusannotatedsentence.i"
 
 %nodefaultctor Wccl::TokenMatch;
 
diff --git a/swig/libccltset.i b/swig/libccltset.i
index d9f536311ad4909ab035688fdc7198e7fbae4d13..79b792f6e9210ce5c4847739e655e8e2afc96044 100644
--- a/swig/libccltset.i
+++ b/swig/libccltset.i
@@ -10,8 +10,8 @@
 /* Include required headers */
 %include "std_string.i"
 %include "libcclvalue.i"
-%include "libcorpus/libcorpustag.i"
-%include "libcorpus/libcorpustagset.i"
+%include "libcorpus2/libcorpustag.i"
+%include "libcorpus2/libcorpustagset.i"
 
 %feature("notabstract") Wccl::TSet;
 
diff --git a/swig/libcclvalue.i b/swig/libcclvalue.i
index 4a62b2132bf48610ba8bd2aae8153c418402795c..2bec67110be61d415a047c35b0694d78cc1cff57 100644
--- a/swig/libcclvalue.i
+++ b/swig/libcclvalue.i
@@ -7,7 +7,7 @@
 %}
 
 %include "std_string.i"
-%include "libcorpus/libcorpustagset.i"
+%include "libcorpus2/libcorpustagset.i"
 
 %nodefaultctor Wccl::Value;
 
diff --git a/swig/libcclvariables.i b/swig/libcclvariables.i
index 3048feb24eda8137896233e485f90eae4da0f015..98bd25f114d010f0916a863157ba8890cc9fceac 100644
--- a/swig/libcclvariables.i
+++ b/swig/libcclvariables.i
@@ -14,7 +14,7 @@
 %include "libccltset.i"
 
 %include "std_string.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %template(ValuePtr) boost::shared_ptr<Wccl::Value>;
 %template(BoolPtr) boost::shared_ptr<Wccl::Bool>;
diff --git a/swig/libcclwcclfile.i b/swig/libcclwcclfile.i
index a51db9c8ebfa889f89c95b83c428299eeb0928eb..7752e6aa19581cad8744321cacbee57307e87429 100644
--- a/swig/libcclwcclfile.i
+++ b/swig/libcclwcclfile.i
@@ -19,11 +19,11 @@
 %include "libcclwcclfileopsections.i"
 %include "libcclfunctionalopsequence.i"
 
-%include "libcorpus/libcorpustagset.i"
+%include "libcorpus2/libcorpustagset.i"
 
 %include "std_string.i"
 %include "std_vector.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 %template(UntypedOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::UntypedOpSequence> >;
 %template(BoolOpSequencePtrVector) std::vector<boost::shared_ptr<Wccl::OpSequence<Wccl::Bool> > >;
diff --git a/swig/libcclwcclfileopsections.i b/swig/libcclwcclfileopsections.i
index 8e8ee40d69a0e46fff1c41ddc9ed019377ec11cd..a8ee450585b2dbf8edc50eee70f005f5ad4da9b8 100644
--- a/swig/libcclwcclfileopsections.i
+++ b/swig/libcclwcclfileopsections.i
@@ -16,7 +16,7 @@
 
 %include "std_string.i"
 %include "std_vector.i"
-%include "boost_shared_ptr.i"
+%include <libcorpus2/boost_shared_ptr.i>
 
 namespace Wccl {
   template<class T> class WcclFileOpSections {
diff --git a/swig/wccl.i b/swig/wccl.i
index 9eadbc020731426842ca8b2d2e00bf575ae46813..c97e40f5f189162f3f5cfbd4dffab43b19f940cb 100644
--- a/swig/wccl.i
+++ b/swig/wccl.i
@@ -5,7 +5,7 @@
 %{
   //
 %}
-
+%include <libcorpus2/unicodestring.i>
 %include "libcclactionexeccontext.i"
 %include "libcclannotationmatch.i"
 %include "libcclbool.i"