diff --git a/ndn-cpp/interest.cpp b/ndn-cpp/interest.cpp
index 0fe5ce7..3c09234 100644
--- a/ndn-cpp/interest.cpp
+++ b/ndn-cpp/interest.cpp
@@ -12,7 +12,8 @@
 
 namespace ndn {
   
-void Exclude::get(struct ndn_Exclude& excludeStruct) const
+void 
+Exclude::get(struct ndn_Exclude& excludeStruct) const
 {
   if (excludeStruct.maxEntries < entries_.size())
     throw runtime_error("excludeStruct.maxEntries must be >= this exclude getEntryCount()");
@@ -22,7 +23,8 @@
     entries_[i].get(excludeStruct.entries[i]);  
 }
 
-void Exclude::set(const struct ndn_Exclude& excludeStruct)
+void 
+Exclude::set(const struct ndn_Exclude& excludeStruct)
 {
   entries_.clear();
   for (unsigned int i = 0; i < excludeStruct.nEntries; ++i) {
@@ -37,7 +39,8 @@
   }
 }
 
-string Exclude::toUri() const
+string 
+Exclude::toUri() const
 {
 	if (entries_.size() == 0)
 		return "";
@@ -56,7 +59,8 @@
   return result.str();  
 }
 
-void Interest::set(const struct ndn_Interest& interestStruct) 
+void 
+Interest::set(const struct ndn_Interest& interestStruct) 
 {
   name_.set(interestStruct.name);
   minSuffixComponents_ = interestStruct.minSuffixComponents;
@@ -72,7 +76,8 @@
   nonce_ = Blob(interestStruct.nonce, interestStruct.nonceLength);
 }
 
-void Interest::get(struct ndn_Interest& interestStruct) const 
+void 
+Interest::get(struct ndn_Interest& interestStruct) const 
 {
   name_.get(interestStruct.name);
   interestStruct.minSuffixComponents = minSuffixComponents_;
