diff --git a/src/identity-challenge/challenge-email.cpp b/src/identity-challenge/challenge-email.cpp
index 502885e..e979753 100644
--- a/src/identity-challenge/challenge-email.cpp
+++ b/src/identity-challenge/challenge-email.cpp
@@ -122,7 +122,8 @@
 }
 
 Block
-ChallengeEmail::genChallengeRequestTLV(Status status, const std::string& challengeStatus, std::vector<std::tuple<std::string, std::string>>&& params)
+ChallengeEmail::genChallengeRequestTLV(Status status, const std::string& challengeStatus,
+                                       std::vector<std::tuple<std::string, std::string>>&& params)
 {
   Block request = makeEmptyBlock(tlv::EncryptedPayload);
   if (status == Status::BEFORE_CHALLENGE) {
@@ -161,7 +162,9 @@
                           const ca::RequestState& request) const
 {
   std::string command = m_sendEmailScript;
-  command += " \"" + emailAddress + "\" \"" + secret + "\" \"" + request.m_caPrefix.toUri() + "\" \"" + request.m_cert.getName().toUri() + "\"";
+  command += " \"" + emailAddress + "\" \"" + secret + "\" \"" +
+             request.m_caPrefix.toUri() + "\" \"" +
+             request.m_cert.getName().toUri() + "\"";
   int result = system(command.c_str());
   if (result == -1) {
     NDN_LOG_TRACE("EmailSending Script " + m_sendEmailScript + " fails.");
diff --git a/src/name-assignment/assignment-hash.hpp b/src/name-assignment/assignment-hash.hpp
index 941ce5a..77e5e91 100644
--- a/src/name-assignment/assignment-hash.hpp
+++ b/src/name-assignment/assignment-hash.hpp
@@ -29,7 +29,7 @@
 /**
  * assign names base on client probe parameter
  */
-class AssignmentHash: public NameAssignmentFunc
+class AssignmentHash : public NameAssignmentFunc
 {
 public:
   AssignmentHash(const std::string& format = "");
diff --git a/src/name-assignment/assignment-param.hpp b/src/name-assignment/assignment-param.hpp
index dc45e03..bc1a084 100644
--- a/src/name-assignment/assignment-param.hpp
+++ b/src/name-assignment/assignment-param.hpp
@@ -29,7 +29,8 @@
 /**
  * assign names base on client probe parameter
  */
-class AssignmentParam: public NameAssignmentFunc{
+class AssignmentParam : public NameAssignmentFunc
+{
 public:
   AssignmentParam(const std::string& format = "");
 
diff --git a/src/name-assignment/assignment-random.hpp b/src/name-assignment/assignment-random.hpp
index 93e288d..cf6509f 100644
--- a/src/name-assignment/assignment-random.hpp
+++ b/src/name-assignment/assignment-random.hpp
@@ -29,7 +29,7 @@
 /**
  * assign names base on client probe parameter
  */
-class AssignmentRandom: public NameAssignmentFunc
+class AssignmentRandom : public NameAssignmentFunc
 {
 public:
   AssignmentRandom(const std::string& format = "");
