diff --git a/swig/libcclvariables.i b/swig/libcclvariables.i
index 24d6d7493c1c93a181523a14ecc299face003d5f..642100df751354fcc26f42ccaca9ee7343fceacf 100644
--- a/swig/libcclvariables.i
+++ b/swig/libcclvariables.i
@@ -16,6 +16,14 @@
 %include "std_string.i"
 %include "boost_shared_ptr.i"
 
+%template(ValuePtr) boost::shared_ptr<Wccl::Value>;
+%template(BoolPtr) boost::shared_ptr<Wccl::Bool>;
+%template(PositionPtr) boost::shared_ptr<Wccl::Position>;
+%template(StrSetPtr) boost::shared_ptr<Wccl::StrSet>;
+%template(TSetPtr) boost::shared_ptr<Wccl::TSet>;
+%template(MatchPtr) boost::shared_ptr<Wccl::Match>;
+%template(VariablesPtr) boost::shared_ptr<Wccl::Variables>;
+
 namespace Wccl {
   /* ----------------------------------------------------------------------- */
   /* Helper detail class */
@@ -48,13 +56,13 @@ namespace Wccl {
 
   /* ----------------------------------------------------------------------- */
   /* Variables */
-  class Variables : 
+  class Variables /*: 
     detail::Vmap<Value>, 
     detail::Vmap<Bool>, 
     detail::Vmap<Position>, 
     detail::Vmap<StrSet>, 
     detail::Vmap<TSet>, 
-    detail::Vmap<Match>
+    detail::Vmap<Match> */
   {
   public:
     Variables();
@@ -153,8 +161,6 @@ namespace Wccl {
   };
 }
 
-%template(VariablesSharedPtr) boost::shared_ptr<Wccl::Variables>;
-
 using namespace boost;
 using namespace std;
 using namespace Wccl;