diff --git a/apps/ndn-consumer-zipf-mandelbrot.hpp b/apps/ndn-consumer-zipf-mandelbrot.hpp
index 302427b..ee192db 100644
--- a/apps/ndn-consumer-zipf-mandelbrot.hpp
+++ b/apps/ndn-consumer-zipf-mandelbrot.hpp
@@ -18,7 +18,6 @@
  * Author: Xiaoke Jiang <shock.jiang@gmail.com>
  */
 
-
 #ifndef NDN_CONSUMER_ZIPF_MANDELBROT_H_
 #define NDN_CONSUMER_ZIPF_MANDELBROT_H_
 
@@ -42,54 +41,57 @@
  * @brief NDN app requesting contents following Zipf-Mandelbrot Distbituion
  *
  * The class implements an app which requests contents following Zipf-Mandelbrot Distribution
- * Here is the explaination of Zipf-Mandelbrot Distribution: http://en.wikipedia.org/wiki/Zipf%E2%80%93Mandelbrot_law
+ * Here is the explaination of Zipf-Mandelbrot Distribution:
+ *http://en.wikipedia.org/wiki/Zipf%E2%80%93Mandelbrot_law
  */
-class ConsumerZipfMandelbrot: public ConsumerCbr
-{
+class ConsumerZipfMandelbrot : public ConsumerCbr {
 public:
-  static TypeId GetTypeId ();
+  static TypeId
+  GetTypeId();
 
   /**
    * \brief Default constructor
    * Sets up randomized Number Generator (RNG)
    * Note: m_seq of its parent class ConsumerCbr here is used to record the interest number
    */
-  ConsumerZipfMandelbrot ();
-  virtual ~ConsumerZipfMandelbrot ();
+  ConsumerZipfMandelbrot();
+  virtual ~ConsumerZipfMandelbrot();
 
-  virtual void SendPacket();
-  uint32_t GetNextSeq();
+  virtual void
+  SendPacket();
+  uint32_t
+  GetNextSeq();
 
 protected:
   virtual void
-  ScheduleNextPacket ();
+  ScheduleNextPacket();
 
 private:
   void
-  SetNumberOfContents (uint32_t numOfContents);
+  SetNumberOfContents(uint32_t numOfContents);
 
   uint32_t
-  GetNumberOfContents () const;
+  GetNumberOfContents() const;
 
   void
-  SetQ (double q);
+  SetQ(double q);
 
   double
-  GetQ () const;
+  GetQ() const;
 
   void
-  SetS (double s);
+  SetS(double s);
 
   double
-  GetS () const;
+  GetS() const;
 
 private:
-  uint32_t m_N;  //number of the contents
-  double m_q;  //q in (k+q)^s
-  double m_s;  //s in (k+q)^s
-  std::vector<double> m_Pcum;  //cumulative probability
+  uint32_t m_N;               // number of the contents
+  double m_q;                 // q in (k+q)^s
+  double m_s;                 // s in (k+q)^s
+  std::vector<double> m_Pcum; // cumulative probability
 
-  UniformVariable m_SeqRng; //RNG
+  UniformVariable m_SeqRng; // RNG
 };
 
 } /* namespace ndn */
