diff --git a/nsync/sync-diff-state.h b/nsync/sync-diff-state.h
index d944c3e..fd80809 100644
--- a/nsync/sync-diff-state.h
+++ b/nsync/sync-diff-state.h
@@ -17,7 +17,7 @@
  *
  * Author: Zhenkai Zhu <zhenkai@cs.ucla.edu>
  *         Chaoyi Bian <bcy@pku.edu.cn>
- *	   Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ *         Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
 #ifndef SYNC_DIFF_STATE_H
@@ -29,8 +29,8 @@
 namespace Sync {
 
 class DiffState;
-typedef boost::shared_ptr<DiffState> DiffStatePtr;
-typedef boost::shared_ptr<DiffState> DiffStateConstPtr;
+typedef shared_ptr<DiffState> DiffStatePtr;
+typedef shared_ptr<DiffState> DiffStateConstPtr;
 
 /**
  * @ingroup ccnx
@@ -67,7 +67,7 @@
    */
   DigestConstPtr
   getDigest () const { return m_digest; }
-  
+
   /**
    * @brief Accumulate differences from `this' state to the most current state
    * @returns Accumulated differences from `this' state to the most current state
@@ -84,14 +84,14 @@
    */
   DiffState&
   operator += (const DiffState &state);
-  
+
   // from State
-  virtual boost::tuple<bool/*inserted*/, bool/*updated*/, SeqNo/*oldSeqNo*/>
+  virtual tuple<bool/*inserted*/, bool/*updated*/, SeqNo/*oldSeqNo*/>
   update (NameInfoConstPtr info, const SeqNo &seq);
 
   virtual bool
   remove (NameInfoConstPtr info);
-  
+
 private:
   DiffStatePtr m_next;
   DigestConstPtr m_digest;
