diff --git a/doc/doxygen.conf b/doc/doxygen.conf
index 0989ca5..5408411 100644
--- a/doc/doxygen.conf
+++ b/doc/doxygen.conf
@@ -568,7 +568,7 @@
 # directories like "/usr/src/myproject". Separate the files or directories
 # with spaces.
 
-INPUT                  = model helper
+INPUT                  = doc model helper
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
diff --git a/doc/doxygen_boost_dummy.h b/doc/doxygen_boost_dummy.h
new file mode 100644
index 0000000..e65d80c
--- /dev/null
+++ b/doc/doxygen_boost_dummy.h
@@ -0,0 +1,9 @@
+namespace boost { template<class T> class shared_ptr { T *dummy; }; }
+// typedef 
+// namespace boost {
+//   template<class T>
+//     class shared_ptr
+//     {
+//       typedef T* type;
+//     };
+// }
diff --git a/model/sync-digest.h b/model/sync-digest.h
index 91b331e..d98868e 100644
--- a/model/sync-digest.h
+++ b/model/sync-digest.h
@@ -95,21 +95,14 @@
   inline Digest &
   operator << (const std::string &str);
 
+  /**
+   * @brief Add uint32_t value to digest calculation
+   * @param value uint32_t value to put into digest
+   */
   inline Digest &
   operator << (uint32_t value);
 
-  // /**
-  //  * @brief Add integer to digest calculation
-  //  * @param value the value to add to the digest
-  //  */
-  // template<class INT>
-  // inline Digest &
-  // operator << (INT value);
-
 private:
-  /**
-   * @brief Disabled copy operator 
-   */
   Digest &
   operator = (Digest &digest) { return *this; }
   
diff --git a/model/sync-full-state.cc b/model/sync-full-state.cc
index dcc4399..7e4a30f 100644
--- a/model/sync-full-state.cc
+++ b/model/sync-full-state.cc
@@ -91,7 +91,7 @@
   LeafContainer::iterator item = m_leaves.find (*info);
   if (item == m_leaves.end ())
     {
-      m_leaves.insert (make_shared<Leaf> (info, cref (seq)));
+      m_leaves.insert (make_shared<FullLeaf> (info, cref (seq)));
     }
   else
     {
diff --git a/model/sync-leaf.cc b/model/sync-leaf.cc
index 6ff48bc..6480480 100644
--- a/model/sync-leaf.cc
+++ b/model/sync-leaf.cc
@@ -30,6 +30,10 @@
 {
 }
 
+Leaf::~Leaf ()
+{
+}
+
 void
 Leaf::setSeq (const SeqNo &seq)
 {
diff --git a/model/sync-leaf.h b/model/sync-leaf.h
index c4da60c..c5f4c20 100644
--- a/model/sync-leaf.h
+++ b/model/sync-leaf.h
@@ -41,7 +41,7 @@
    * @param seq  Initial sequence number of the pointer
    */
   Leaf (NameInfoConstPtr info, const SeqNo &seq);
-  virtual ~Leaf () { }
+  virtual ~Leaf () = 0;
   
   /**
    * @brief Get name of the leaf
diff --git a/wscript b/wscript
index b5e60a8..97e10a8 100644
--- a/wscript
+++ b/wscript
@@ -13,6 +13,7 @@
     conf.load("compiler_cxx")
     conf.check_cfg(atleast_pkgconfig_version='0.20')
     conf.check_cfg(package='openssl', args=['--cflags', '--libs'], uselib_store='SSL')
+    conf.check_cfg(package='libxml-2.0', args=['--cflags', '--libs'], uselib_store='XML')
     conf.define ('STANDALONE', 1)
     # conf.define ('DIGEST_BASE64', 1) # base64 is not working and probably will not work at all
 
@@ -26,7 +27,7 @@
                features=['cxx', 'cxxshlib'],
                source = bld.path.ant_glob(['model/sync-*.cc',
                                            'helper/sync-*.cc']),
-               uselib = 'BOOST BOOST_IOSTREAMS SSL'
+               uselib = 'BOOST BOOST_IOSTREAMS SSL XML'
                )
 
     # Unit tests
