diff --git a/daemon/face/ndnlp-slicer.hpp b/daemon/face/ndnlp-slicer.hpp
index 9442a07..f5d9056 100644
--- a/daemon/face/ndnlp-slicer.hpp
+++ b/daemon/face/ndnlp-slicer.hpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014,  Regents of the University of California,
+ *                      Arizona Board of Regents,
+ *                      Colorado State University,
+ *                      University Pierre & Marie Curie, Sorbonne University,
+ *                      Washington University in St. Louis,
+ *                      Beijing Institute of Technology,
+ *                      The University of Memphis
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #ifndef NFD_DAEMON_FACE_NDNLP_SLICER_HPP
 #define NFD_DAEMON_FACE_NDNLP_SLICER_HPP
@@ -31,13 +32,17 @@
 namespace nfd {
 namespace ndnlp {
 
-typedef shared_ptr<std::vector<Block> > PacketArray;
+typedef shared_ptr<std::vector<Block>> PacketArray;
 
 /** \brief provides fragmentation feature at sender
  */
 class Slicer : noncopyable
 {
 public:
+  /** \param mtu maximum size of NDNLP header and payload
+   *  \note If NDNLP packets are to be encapsulated in an additional header
+   *        (eg. in UDP packets), the caller must deduct such overhead.
+   */
   explicit
   Slicer(size_t mtu);
 
@@ -48,6 +53,12 @@
   slice(const Block& block);
 
 private:
+  template<bool T>
+  size_t
+  encodeFragment(ndn::EncodingImpl<T>& blk,
+                 uint64_t seq, uint16_t fragIndex, uint16_t fragCount,
+                 const uint8_t* payload, size_t payloadSize);
+
   /// estimate the size of NDNLP header and maximum payload size per packet
   void
   estimateOverhead();
