diff --git a/src/tlv/adjacency.cpp b/src/tlv/adjacency.cpp
index e9912b0..3a24356 100644
--- a/src/tlv/adjacency.cpp
+++ b/src/tlv/adjacency.cpp
@@ -45,21 +45,19 @@
 
 template<bool T>
 size_t
-Adjacency::wireEncode(ndn::EncodingImpl<T>& block) const
+Adjacency::wireEncode(ndn::EncodingImpl<T>& encoder) const
 {
   size_t totalLength = 0;
 
-  totalLength += ndn::prependNonNegativeIntegerBlock(block,
-                                                     ndn::tlv::nlsr::Cost,
-                                                     m_cost);
+  totalLength += prependNonNegativeIntegerBlock(encoder, ndn::tlv::nlsr::Cost, m_cost);
 
-  totalLength += block.prependByteArrayBlock(
+  totalLength += encoder.prependByteArrayBlock(
     ndn::tlv::nlsr::Uri, reinterpret_cast<const uint8_t*>(m_uri.c_str()), m_uri.size());
 
-  totalLength += m_name.wireEncode(block);
+  totalLength += m_name.wireEncode(encoder);
 
-  totalLength += block.prependVarNumber(totalLength);
-  totalLength += block.prependVarNumber(ndn::tlv::nlsr::Adjacency);
+  totalLength += encoder.prependVarNumber(totalLength);
+  totalLength += encoder.prependVarNumber(ndn::tlv::nlsr::Adjacency);
 
   return totalLength;
 }
diff --git a/src/tlv/lsa-info.cpp b/src/tlv/lsa-info.cpp
index e81bdc9..da3f189 100644
--- a/src/tlv/lsa-info.cpp
+++ b/src/tlv/lsa-info.cpp
@@ -49,25 +49,25 @@
 
 template<bool T>
 size_t
-LsaInfo::wireEncode(ndn::EncodingImpl<T>& block) const
+LsaInfo::wireEncode(ndn::EncodingImpl<T>& encoder) const
 {
   size_t totalLength = 0;
 
   // Absence of an ExpirationPeriod signifies non-expiration
   if (!m_hasInfiniteExpirationPeriod) {
-    totalLength += ndn::prependNonNegativeIntegerBlock(block,
-                                                       ndn::tlv::nlsr::ExpirationPeriod,
-                                                       m_expirationPeriod.count());
+    totalLength += prependNonNegativeIntegerBlock(encoder,
+                                                  ndn::tlv::nlsr::ExpirationPeriod,
+                                                  m_expirationPeriod.count());
   }
 
-  totalLength += ndn::prependNonNegativeIntegerBlock(block,
-                                                     ndn::tlv::nlsr::SequenceNumber,
-                                                     m_sequenceNumber);
+  totalLength += prependNonNegativeIntegerBlock(encoder,
+                                                ndn::tlv::nlsr::SequenceNumber,
+                                                m_sequenceNumber);
 
-  totalLength += ndn::prependNestedBlock(block, ndn::tlv::nlsr::OriginRouter, m_originRouter);
+  totalLength += prependNestedBlock(encoder, ndn::tlv::nlsr::OriginRouter, m_originRouter);
 
-  totalLength += block.prependVarNumber(totalLength);
-  totalLength += block.prependVarNumber(ndn::tlv::nlsr::LsaInfo);
+  totalLength += encoder.prependVarNumber(totalLength);
+  totalLength += encoder.prependVarNumber(ndn::tlv::nlsr::LsaInfo);
 
   return totalLength;
 }
