Checkpoint
diff --git a/model/sync-leaf.h b/model/sync-leaf.h
index 79e6b45..a4c64cf 100644
--- a/model/sync-leaf.h
+++ b/model/sync-leaf.h
@@ -40,32 +40,20 @@
    * @param info Smart pointer to leaf's name
    * @param seq  Initial sequence number of the pointer
    */
-  Leaf (boost::shared_ptr<const NameInfo> info, const SeqNo &seq)
-    : m_info (info)
-    , m_seq (seq)
-  { }
-
-  virtual ~Leaf ()
-  {
-  }
+  Leaf (NameInfoConstPtr info, const SeqNo &seq);
+  virtual ~Leaf () { }
   
   /**
    * @brief Get name of the leaf
    */
   const NameInfo &
-  getInfo () const
-  {
-    return *m_info;
-  }
+  getInfo () const { return *m_info; }
 
   /**
    * @brief Get sequence number of the leaf
    */
   const SeqNo&
-  getSeq () const
-  {
-    return m_seq;
-  }
+  getSeq () const { return m_seq; }
 
   /**
    * @brief Update sequence number of the leaf
@@ -73,11 +61,8 @@
    *
    * Sequence number is updated to the largest value among this->m_seq and seq
    */
-  void
-  setSeq (const SeqNo &seq)
-  {
-    m_seq = std::max (m_seq, seq);
-  }
+  virtual void
+  setSeq (const SeqNo &seq);
   
 private:
   NameInfoConstPtr m_info;