diff --git a/model/sync-full-state.cc b/model/sync-full-state.cc
index b7e948f..1ec8249 100644
--- a/model/sync-full-state.cc
+++ b/model/sync-full-state.cc
@@ -27,6 +27,10 @@
 #include <boost/make_shared.hpp>
 #include <boost/lambda/lambda.hpp>
 #include <boost/lambda/bind.hpp>
+#include <boost/foreach.hpp>
+#include <boost/assert.hpp>
+
+#include "sync-full-leaf.h"
 
 using namespace boost;
 namespace ll = boost::lambda;
@@ -48,12 +52,30 @@
 {
   return ns3::Simulator::Now () - m_lastUpdated;
 }
-  
+
+DigestConstPtr
+FullState::getDigest ()
+{
+  if (m_digest == 0)
+    {
+      m_digest = make_shared<Digest> ();
+      BOOST_FOREACH (LeafConstPtr leaf, m_leaves)
+        {
+          FullLeafConstPtr fullLeaf = dynamic_pointer_cast<const FullLeaf> (leaf);
+          BOOST_ASSERT (fullLeaf != 0);
+          *m_digest << fullLeaf->getDigest ();
+        }
+    }
+
+  return m_digest;
+}
+
 // from State
 void
 FullState::update (NameInfoConstPtr info, const SeqNo &seq)
 {
   m_lastUpdated = ns3::Simulator::Now ();
+  m_digest.reset ();
 
   LeafContainer::iterator item = m_leaves.find (*info);
   if (item == m_leaves.end ())
@@ -70,6 +92,7 @@
 FullState::remove (NameInfoConstPtr info)
 {
   m_lastUpdated = ns3::Simulator::Now ();
+  m_digest.reset ();
 
   m_leaves.erase (*info);
 }
