diff --git a/include/ccnx-closure.h b/include/ccnx-closure.h
index 54306d6..01358c4 100644
--- a/include/ccnx-closure.h
+++ b/include/ccnx-closure.h
@@ -7,7 +7,7 @@
 
 namespace Ccnx {
 
-class Closure 
+class Closure
 {
 public:
   typedef boost::function<void (const string &, const Bytes &)> DataCallback;
@@ -25,15 +25,15 @@
   int getRetry() {return m_retry;}
   void decRetry() { m_retry--;}
   virtual ~Closure();
-  virtual void 
+  virtual void
   runDataCallback(const string &name, const Bytes &content);
-  virtual TimeoutCallbackReturnValue 
+  virtual TimeoutCallbackReturnValue
   runTimeoutCallback(const string &interest);
 
 protected:
   int m_retry;
   TimeoutCallback *m_timeoutCallback;
-  DataCallback *m_dataCallback;  
+  DataCallback *m_dataCallback;
 };
 
 } // Ccnx
diff --git a/include/ccnx-pco.h b/include/ccnx-pco.h
index 1357333..829e0cc 100644
--- a/include/ccnx-pco.h
+++ b/include/ccnx-pco.h
@@ -10,7 +10,7 @@
 
 struct MisformedContentObjectException : virtual boost::exception, virtual exception { };
 
-class ParsedContentObject 
+class ParsedContentObject
 {
 public:
   ParsedContentObject(const unsigned char *data, size_t len);
diff --git a/include/ccnx-tunnel.h b/include/ccnx-tunnel.h
index af49a9b..dff2f50 100644
--- a/include/ccnx-tunnel.h
+++ b/include/ccnx-tunnel.h
@@ -6,7 +6,7 @@
 #include "ccnx-common.h"
 #include "ccnx-wrapper.h"
 
-#define _OVERRIDE 
+#define _OVERRIDE
 #ifdef __GNUC__
 #if __GNUC_MAJOR >= 4 && __GNUC_MINOR__ >= 7
   #undef _OVERRIDE
@@ -16,19 +16,19 @@
 
 using namespace std;
 
-// Eventually, Sync::CcnxWrapper should be moved to this namespace. 
+// Eventually, Sync::CcnxWrapper should be moved to this namespace.
 // It has nothing to do with Sync.
 namespace Ccnx
 {
 
-class CcnxTunnel : public CcnxWrapper 
+class CcnxTunnel : public CcnxWrapper
 {
-public: 
+public:
   typedef multimap<string, InterestCallback> RegisteredInterestTable;
   typedef multimap<string, InterestCallback>::iterator RitIter;
 
 
-  CcnxTunnel(); 
+  CcnxTunnel();
   virtual ~CcnxTunnel();
 
   // name is topology-independent
@@ -70,7 +70,7 @@
 
   void
   handleTunneledInterest(const string &tunneldInterest);
-  
+
   void
   handleTunneledData(const string &name, const Bytes &tunneledData, const Closure::DataCallback &originalDataCallback);
 
@@ -88,7 +88,7 @@
 
   TunnelClosure(const Closure *closure, CcnxTunnel *tunnel, const string &originalInterest);
 
-  virtual void 
+  virtual void
   runDataCallback(const string &name, const Bytes &content) _OVERRIDE;
 
   virtual TimeoutCallbackReturnValue
diff --git a/include/ccnx-wrapper.h b/include/ccnx-wrapper.h
index e5754da..9b50ae8 100644
--- a/include/ccnx-wrapper.h
+++ b/include/ccnx-wrapper.h
@@ -24,7 +24,7 @@
 
 struct CcnxOperationException : virtual boost::exception, virtual exception { };
 
-class CcnxWrapper 
+class CcnxWrapper
 {
 public:
   typedef boost::shared_mutex Lock;
@@ -45,10 +45,10 @@
   virtual void
   clearInterestFilter (const string &prefix);
 
-  virtual int 
+  virtual int
   sendInterest (const Interest &interest, Closure *closure);
 
-  virtual int 
+  virtual int
   publishData (const string &name, const unsigned char *buf, size_t len, int freshness);
 
   int
@@ -64,14 +64,14 @@
   Bytes
   createContentObject(const string &name, const unsigned char *buf, size_t len, int freshness);
 
-  int 
+  int
   putToCcnd (const Bytes &contentObject);
-  
+
 protected:
   void
   connectCcnd();
 
-  /// @cond include_hidden 
+  /// @cond include_hidden
   void
   createKeyLocator ();
 
@@ -110,4 +110,4 @@
 
 } // Ccnx
 
-#endif 
+#endif
