diff --git a/Makefile.am b/Makefile.am
index 94a9fbf..49df82f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -99,17 +99,17 @@
   src/interest.cpp \
   src/name.cpp \
   src/node.cpp \
-  src/security/certificate/certificate-extension.cpp \
-  src/security/certificate/certificate-subject-description.cpp \
-  src/security/certificate/certificate.cpp \
-  src/security/certificate/identity-certificate.cpp \
-  src/security/certificate/public-key.cpp \
-  src/security/identity/sec-public-info-sqlite3.cpp \
-  src/security/identity/sec-public-info-memory.cpp \
-  src/security/identity/sec-tpm-memory.cpp \
+  src/security/certificate-extension.cpp \
+  src/security/certificate-subject-description.cpp \
+  src/security/certificate.cpp \
+  src/security/identity-certificate.cpp \
+  src/security/public-key.cpp \
+  src/security/sec-public-info-sqlite3.cpp \
+  src/security/sec-public-info-memory.cpp \
+  src/security/sec-tpm-memory.cpp \
   src/security/verifier.cpp \
-  src/security/policy/no-verify-policy-manager.cpp \
-  src/security/policy/self-verify-policy-manager.cpp \
+  src/security/sec-policy-no-verify.cpp \
+  src/security/sec-policy-self-verify.cpp \
   src/transport/unix-transport.cpp \
   src/util/blob-stream.hpp \
   src/util/blob.cpp \
@@ -124,9 +124,9 @@
   src/util/time.hpp
 
 if HAVE_OSX_SECURITY
-  libndn_cpp_la_SOURCES += src/security/identity/sec-tpm-osx.cpp
+  libndn_cpp_la_SOURCES += src/security/sec-tpm-osx.cpp
 else
-  EXTRA_DIST = src/security/identity/sec-tpm-osx.cpp
+  EXTRA_DIST = src/security/sec-tpm-osx.cpp
 endif
 
 libndn_cpp_la_LIBADD  = @OPENSSL_LIBS@     @CRYPTOPP_LIBS@     @OSX_SECURITY_LIBS@  @BOOST_SYSTEM_LIB@
diff --git a/include/Makefile.am b/include/Makefile.am
index d2729b4..cab21a1 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -17,11 +17,6 @@
   $(wildcard ndn-cpp/*.hpp) \
   $(wildcard ndn-cpp/encoding/*.*) \
   $(wildcard ndn-cpp/security/*.*) \
-  $(wildcard ndn-cpp/security/certificate/*.*) \
-  $(wildcard ndn-cpp/security/encryption/*.*) \
-  $(wildcard ndn-cpp/security/identity/*.*) \
-  $(wildcard ndn-cpp/security/policy/*.*) \
-  $(wildcard ndn-cpp/security/signature/*.*) \
   $(wildcard ndn-cpp/transport/*.*) \
   $(wildcard ndn-cpp/util/*.*)
 
diff --git a/include/ndn-cpp/data.hpp b/include/ndn-cpp/data.hpp
index 6f0f397..e2d9451 100644
--- a/include/ndn-cpp/data.hpp
+++ b/include/ndn-cpp/data.hpp
@@ -15,7 +15,6 @@
 #include "signature.hpp"
 #include "meta-info.hpp"
 #include "key-locator.hpp"
-#include "security/signature/signature-sha256-with-rsa.hpp"
 
 namespace ndn {
   
diff --git a/include/ndn-cpp/security/certificate/certificate-extension.hpp b/include/ndn-cpp/security/certificate-extension.hpp
similarity index 94%
rename from include/ndn-cpp/security/certificate/certificate-extension.hpp
rename to include/ndn-cpp/security/certificate-extension.hpp
index c212216..61f7dd2 100644
--- a/include/ndn-cpp/security/certificate/certificate-extension.hpp
+++ b/include/ndn-cpp/security/certificate-extension.hpp
@@ -9,9 +9,9 @@
 #ifndef NDN_CERTIFICATE_EXTENSION_HPP
 #define NDN_CERTIFICATE_EXTENSION_HPP
 
-#include "../../common.hpp"
-#include "../../encoding/buffer.hpp"
-#include "../../encoding/oid.hpp"
+#include "../common.hpp"
+#include "../encoding/buffer.hpp"
+#include "../encoding/oid.hpp"
 
 namespace CryptoPP { class BufferedTransformation; }
 
diff --git a/include/ndn-cpp/security/certificate/certificate-subject-description.hpp b/include/ndn-cpp/security/certificate-subject-description.hpp
similarity index 95%
rename from include/ndn-cpp/security/certificate/certificate-subject-description.hpp
rename to include/ndn-cpp/security/certificate-subject-description.hpp
index 5717920..fc26d37 100644
--- a/include/ndn-cpp/security/certificate/certificate-subject-description.hpp
+++ b/include/ndn-cpp/security/certificate-subject-description.hpp
@@ -9,8 +9,8 @@
 #ifndef NDN_CERTIFICATE_SUBJECT_DESCRIPTION_HPP
 #define NDN_CERTIFICATE_SUBJECT_DESCRIPTION_HPP
 
-#include "../../common.hpp"
-#include "../../encoding/oid.hpp"
+#include "../common.hpp"
+#include "../encoding/oid.hpp"
 
 namespace CryptoPP { class BufferedTransformation; }
 
diff --git a/include/ndn-cpp/security/certificate/certificate.hpp b/include/ndn-cpp/security/certificate.hpp
similarity index 98%
rename from include/ndn-cpp/security/certificate/certificate.hpp
rename to include/ndn-cpp/security/certificate.hpp
index c2fd95a..9871733 100644
--- a/include/ndn-cpp/security/certificate/certificate.hpp
+++ b/include/ndn-cpp/security/certificate.hpp
@@ -9,8 +9,8 @@
 #ifndef NDN_CERTIFICATE_HPP
 #define NDN_CERTIFICATE_HPP
 
-#include "../../data.hpp"
-#include "../../common.hpp"
+#include "../data.hpp"
+#include "../common.hpp"
 
 #include "certificate-subject-description.hpp"
 #include "certificate-extension.hpp"
diff --git a/include/ndn-cpp/security/encryption/encryption-manager.hpp b/include/ndn-cpp/security/encryption-manager.hpp
similarity index 100%
rename from include/ndn-cpp/security/encryption/encryption-manager.hpp
rename to include/ndn-cpp/security/encryption-manager.hpp
diff --git a/include/ndn-cpp/security/certificate/identity-certificate.hpp b/include/ndn-cpp/security/identity-certificate.hpp
similarity index 100%
rename from include/ndn-cpp/security/certificate/identity-certificate.hpp
rename to include/ndn-cpp/security/identity-certificate.hpp
diff --git a/include/ndn-cpp/security/key-chain.hpp b/include/ndn-cpp/security/key-chain.hpp
index 9eb0b13..8e1e81c 100644
--- a/include/ndn-cpp/security/key-chain.hpp
+++ b/include/ndn-cpp/security/key-chain.hpp
@@ -9,14 +9,14 @@
 #ifndef NDN_KEY_CHAIN_HPP
 #define NDN_KEY_CHAIN_HPP
 
-#include "certificate/identity-certificate.hpp"
-#include "certificate/public-key.hpp"
-#include "signature/signature-sha256-with-rsa.hpp"
+#include "identity-certificate.hpp"
+#include "public-key.hpp"
+#include "signature-sha256-with-rsa.hpp"
 
-#include "identity/sec-public-info-sqlite3.hpp"
-#include "identity/sec-public-info-memory.hpp"
-#include "identity/sec-tpm-osx.hpp"
-#include "identity/sec-tpm-memory.hpp"
+#include "sec-public-info-sqlite3.hpp"
+#include "sec-public-info-memory.hpp"
+#include "sec-tpm-osx.hpp"
+#include "sec-tpm-memory.hpp"
 
 
 namespace ndn {
diff --git a/include/ndn-cpp/security/certificate/public-key.hpp b/include/ndn-cpp/security/public-key.hpp
similarity index 94%
rename from include/ndn-cpp/security/certificate/public-key.hpp
rename to include/ndn-cpp/security/public-key.hpp
index ed0687a..5a70e38 100644
--- a/include/ndn-cpp/security/certificate/public-key.hpp
+++ b/include/ndn-cpp/security/public-key.hpp
@@ -10,9 +10,9 @@
 #define NDN_PUBLIC_KEY_HPP
 
 #include <stdexcept>
-#include "../../encoding/oid.hpp"
-#include "../../encoding/buffer.hpp"
-#include "../security-common.hpp"
+#include "../encoding/oid.hpp"
+#include "../encoding/buffer.hpp"
+#include "security-common.hpp"
 
 namespace ndn {
 
diff --git a/include/ndn-cpp/security/policy/no-verify-policy-manager.hpp b/include/ndn-cpp/security/sec-policy-no-verify.hpp
similarity index 90%
rename from include/ndn-cpp/security/policy/no-verify-policy-manager.hpp
rename to include/ndn-cpp/security/sec-policy-no-verify.hpp
index 1ee9f75..1d2927e 100644
--- a/include/ndn-cpp/security/policy/no-verify-policy-manager.hpp
+++ b/include/ndn-cpp/security/sec-policy-no-verify.hpp
@@ -6,20 +6,20 @@
  * See COPYING for copyright and distribution information.
  */
 
-#ifndef NDN_NO_VERIFY_POLICY_MANAGER_HPP
-#define NDN_NO_VERIFY_POLICY_MANAGER_HPP
+#ifndef NDN_SEC_POLICY_NO_VERIFY_HPP
+#define NDN_SEC_POLICY_NO_VERIFY_HPP
 
-#include "policy-manager.hpp"
+#include "sec-policy.hpp"
 
 namespace ndn {
 
-class NoVerifyPolicyManager : public PolicyManager {
+class SecPolicyNoVerify : public SecPolicy {
 public:
   /**
    * The virtual destructor.
    */
   virtual
-  ~NoVerifyPolicyManager();
+  ~SecPolicyNoVerify();
 
   /**
    * Override to always skip verification and trust as valid.
diff --git a/include/ndn-cpp/security/policy/self-verify-policy-manager.hpp b/include/ndn-cpp/security/sec-policy-self-verify.hpp
similarity index 79%
rename from include/ndn-cpp/security/policy/self-verify-policy-manager.hpp
rename to include/ndn-cpp/security/sec-policy-self-verify.hpp
index 14da3c1..111b61a 100644
--- a/include/ndn-cpp/security/policy/self-verify-policy-manager.hpp
+++ b/include/ndn-cpp/security/sec-policy-self-verify.hpp
@@ -5,31 +5,28 @@
  * See COPYING for copyright and distribution information.
  */
 
-#ifndef NDN_SELF_VERIFY_POLICY_MANAGER_HPP
-#define NDN_SELF_VERIFY_POLICY_MANAGER_HPP
+#ifndef NDN_SEC_POLICY_SELF_VERIFY_HPP
+#define NDN_SEC_POLICY_SELF_VERIFY_HPP
 
-#include "policy-manager.hpp"
+#include "sec-policy.hpp"
 
 namespace ndn {
 
-class IdentityManager;
-  
 /**
- * A SelfVerifyPolicyManager implements a PolicyManager to use the public key DER in the data packet's KeyLocator (if available)
+ * A SecPolicySelfVerify implements a PolicyManager to use the public key DER in the data packet's KeyLocator (if available)
  * or look in the IdentityStorage for the public key with the name in the KeyLocator (if available) and use
  * it to verify the data packet, without searching a certificate chain.  If the public key can't be found, the
  * verification fails.
  */
-class SelfVerifyPolicyManager : public PolicyManager {
+class SecPolicySelfVerify : public SecPolicy {
 public:
   /**
-   * Create a new SelfVerifyPolicyManager which will look up the public key in the given identityManager.
+   * Create a new SecPolicySelfVerify which will look up the public key in the given identityManager.
    * @param identityManager (optional) The IdentityManager for looking up the public key.  This points to an object must which remain 
-   * valid during the life of this SelfVerifyPolicyManager.  If omitted, then don't look for a public key with the name 
+   * valid during the life of this SecPolicySelfVerify.  If omitted, then don't look for a public key with the name 
    * in the KeyLocator and rely on the KeyLocator having the full public key DER.
    */
-  SelfVerifyPolicyManager(IdentityStorage* identityStorage = 0)
-  : identityStorage_(identityStorage)
+  SecPolicySelfVerify()
   {
   }
   
@@ -37,7 +34,7 @@
    * The virtual destructor.
    */
   virtual
-  ~SelfVerifyPolicyManager();
+  ~SecPolicySelfVerify();
 
   /**
    * Never skip verification.
@@ -87,8 +84,6 @@
   virtual Name 
   inferSigningIdentity(const Name& dataName);
   
-private:
-  IdentityStorage* identityStorage_;
 };
 
 }
diff --git a/include/ndn-cpp/security/policy/policy-manager.hpp b/include/ndn-cpp/security/sec-policy.hpp
similarity index 87%
rename from include/ndn-cpp/security/policy/policy-manager.hpp
rename to include/ndn-cpp/security/sec-policy.hpp
index 400360d..e3879bb 100644
--- a/include/ndn-cpp/security/policy/policy-manager.hpp
+++ b/include/ndn-cpp/security/sec-policy.hpp
@@ -6,21 +6,19 @@
  * See COPYING for copyright and distribution information.
  */
 
-#ifndef NDN_POLICY_MANAGER_HPP
-#define NDN_POLICY_MANAGER_HPP
+#ifndef NDN_SEC_POLICY_HPP
+#define NDN_SEC_POLICY_HPP
 
-#include "../../data.hpp"
+#include "../data.hpp"
 #include "validation-request.hpp"
 
 namespace ndn {
-
-class ValidationRequest;
   
 /**
- * A PolicyManager is an abstract base class to represent the policy for verifying data packets.
+ * A SecPolicy is an abstract base class to represent the policy for verifying data packets.
  * You must create an object of a subclass.
  */
-class PolicyManager {
+class SecPolicy {
 public:
   struct Error : public std::runtime_error { Error(const std::string &what) : std::runtime_error(what) {} };
 
@@ -28,7 +26,7 @@
    * The virtual destructor.
    */
   virtual
-  ~PolicyManager() {}
+  ~SecPolicy() {}
 
   /**
    * Check if the received data packet can escape from verification and be trusted as valid.
@@ -39,7 +37,7 @@
   skipVerifyAndTrust(const Data& data) = 0;
 
   /**
-   * Check if this PolicyManager has a verification rule for the received data.
+   * Check if this SecPolicy has a verification rule for the received data.
    * @param data The received data packet.
    * @return true if the data must be verified, otherwise false.
    */
diff --git a/include/ndn-cpp/security/identity/sec-public-info-memory.hpp b/include/ndn-cpp/security/sec-public-info-memory.hpp
similarity index 100%
rename from include/ndn-cpp/security/identity/sec-public-info-memory.hpp
rename to include/ndn-cpp/security/sec-public-info-memory.hpp
diff --git a/include/ndn-cpp/security/identity/sec-public-info-sqlite3.hpp b/include/ndn-cpp/security/sec-public-info-sqlite3.hpp
similarity index 99%
rename from include/ndn-cpp/security/identity/sec-public-info-sqlite3.hpp
rename to include/ndn-cpp/security/sec-public-info-sqlite3.hpp
index 99dac54..89ffe6e 100644
--- a/include/ndn-cpp/security/identity/sec-public-info-sqlite3.hpp
+++ b/include/ndn-cpp/security/sec-public-info-sqlite3.hpp
@@ -14,7 +14,7 @@
 #ifdef NDN_CPP_HAVE_SQLITE3
 
 #include <sqlite3.h>
-#include "../../common.hpp"
+#include "../common.hpp"
 #include "sec-public-info.hpp"
 
 namespace ndn
diff --git a/include/ndn-cpp/security/identity/sec-public-info.hpp b/include/ndn-cpp/security/sec-public-info.hpp
similarity index 98%
rename from include/ndn-cpp/security/identity/sec-public-info.hpp
rename to include/ndn-cpp/security/sec-public-info.hpp
index 961cf95..7cd7230 100644
--- a/include/ndn-cpp/security/identity/sec-public-info.hpp
+++ b/include/ndn-cpp/security/sec-public-info.hpp
@@ -9,10 +9,10 @@
 #ifndef NDN_SEC_PUBLIC_INFO_HPP
 #define NDN_SEC_PUBLIC_INFO_HPP
 
-#include "../../name.hpp"
-#include "../security-common.hpp"
-#include "../certificate/public-key.hpp"
-#include "../certificate/identity-certificate.hpp"
+#include "../name.hpp"
+#include "security-common.hpp"
+#include "public-key.hpp"
+#include "identity-certificate.hpp"
 
 
 namespace ndn {
diff --git a/include/ndn-cpp/security/identity/sec-tpm-memory.hpp b/include/ndn-cpp/security/sec-tpm-memory.hpp
similarity index 100%
rename from include/ndn-cpp/security/identity/sec-tpm-memory.hpp
rename to include/ndn-cpp/security/sec-tpm-memory.hpp
diff --git a/include/ndn-cpp/security/identity/sec-tpm-osx.hpp b/include/ndn-cpp/security/sec-tpm-osx.hpp
similarity index 98%
rename from include/ndn-cpp/security/identity/sec-tpm-osx.hpp
rename to include/ndn-cpp/security/sec-tpm-osx.hpp
index 0b90fd0..71efa13 100644
--- a/include/ndn-cpp/security/identity/sec-tpm-osx.hpp
+++ b/include/ndn-cpp/security/sec-tpm-osx.hpp
@@ -12,7 +12,7 @@
 #include <ndn-cpp/ndn-cpp-config.h>
 #if NDN_CPP_HAVE_OSX_SECURITY
 
-#include "../../common.hpp"
+#include "../common.hpp"
 #include "sec-tpm.hpp"
 
 namespace ndn
diff --git a/include/ndn-cpp/security/identity/sec-tpm.hpp b/include/ndn-cpp/security/sec-tpm.hpp
similarity index 95%
rename from include/ndn-cpp/security/identity/sec-tpm.hpp
rename to include/ndn-cpp/security/sec-tpm.hpp
index 9452f9f..d7a8e04 100644
--- a/include/ndn-cpp/security/identity/sec-tpm.hpp
+++ b/include/ndn-cpp/security/sec-tpm.hpp
@@ -10,10 +10,10 @@
 #define NDN_SEC_TPM_HPP
 
 #include <string>
-#include "../security-common.hpp"
-#include "../../name.hpp"
-#include "../../data.hpp"
-#include "../certificate/public-key.hpp"
+#include "security-common.hpp"
+#include "../name.hpp"
+#include "../data.hpp"
+#include "public-key.hpp"
 
 namespace ndn {
 
diff --git a/include/ndn-cpp/security/signature/sha256-with-rsa-handler.hpp b/include/ndn-cpp/security/sha256-with-rsa-handler.hpp
similarity index 100%
rename from include/ndn-cpp/security/signature/sha256-with-rsa-handler.hpp
rename to include/ndn-cpp/security/sha256-with-rsa-handler.hpp
diff --git a/include/ndn-cpp/security/signature/signature-sha256-with-rsa.hpp b/include/ndn-cpp/security/signature-sha256-with-rsa.hpp
similarity index 97%
rename from include/ndn-cpp/security/signature/signature-sha256-with-rsa.hpp
rename to include/ndn-cpp/security/signature-sha256-with-rsa.hpp
index a24e94b..8eb26b1 100644
--- a/include/ndn-cpp/security/signature/signature-sha256-with-rsa.hpp
+++ b/include/ndn-cpp/security/signature-sha256-with-rsa.hpp
@@ -8,7 +8,7 @@
 #ifndef NDN_SIGNATURE_SHA256_WITH_RSA_HPP
 #define NDN_SIGNATURE_SHA256_WITH_RSA_HPP
 
-#include "../../data.hpp"
+#include "../data.hpp"
 
 namespace ndn {
 
diff --git a/include/ndn-cpp/security/policy/validation-request.hpp b/include/ndn-cpp/security/validation-request.hpp
similarity index 97%
rename from include/ndn-cpp/security/policy/validation-request.hpp
rename to include/ndn-cpp/security/validation-request.hpp
index 69a1079..7471065 100644
--- a/include/ndn-cpp/security/policy/validation-request.hpp
+++ b/include/ndn-cpp/security/validation-request.hpp
@@ -9,7 +9,7 @@
 #ifndef NDN_VALIDATION_REQUEST_HPP
 #define NDN_VALIDATION_REQUEST_HPP
 
-#include "../../interest.hpp"
+#include "../interest.hpp"
 
 namespace ndn {
 
diff --git a/include/ndn-cpp/security/verifier.hpp b/include/ndn-cpp/security/verifier.hpp
index 537e74d..764dcd4 100644
--- a/include/ndn-cpp/security/verifier.hpp
+++ b/include/ndn-cpp/security/verifier.hpp
@@ -11,13 +11,12 @@
 
 #include "../data.hpp"
 #include "../face.hpp"
-#include "policy/validation-request.hpp"
-#include "certificate/public-key.hpp"
-#include "signature/signature-sha256-with-rsa.hpp"
+#include "sec-policy.hpp"
+#include "validation-request.hpp"
+#include "public-key.hpp"
+#include "signature-sha256-with-rsa.hpp"
 
 namespace ndn {
-
-class PolicyManager;
   
 /**
  * Verifier is one of the main classes of the security librar .
@@ -28,7 +27,7 @@
 public:
   struct Error : public std::runtime_error { Error(const std::string &what) : std::runtime_error(what) {} };
 
-  Verifier(const ptr_lib::shared_ptr<PolicyManager> &policyManager = DefaultPolicyManager);
+  Verifier(const ptr_lib::shared_ptr<SecPolicy> &policy = DefaultPolicy);
 
   /**
    * @brief Set the Face which will be used to fetch required certificates.
@@ -40,16 +39,16 @@
   setFace(const ptr_lib::shared_ptr<Face> &face) { face_ = face; }
   
   /**
-   * @brief Get the policyManager.
-   * @return The PolicyManager.
+   * @brief Get the policy.
+   * @return The Policy.
    */
-  inline PolicyManager&
+  inline SecPolicy&
   policies()
   {
-    if (!policyManager_)
-      throw Error("PolicyManager is not assigned to the KeyChain");
+    if (!policy_)
+      throw Error("policy is not assigned to the KeyChain");
 
-    return *policyManager_;
+    return *policy_;
   }
 
 
@@ -81,7 +80,7 @@
   verifySignature(const Buffer &data, const SignatureSha256WithRsa &sig, const PublicKey &publicKey);
 
 public:
-  static const ptr_lib::shared_ptr<PolicyManager>     DefaultPolicyManager;
+  static const ptr_lib::shared_ptr<SecPolicy>     DefaultPolicy;
     
 private:
   void
@@ -94,7 +93,7 @@
      const ptr_lib::shared_ptr<Data> &data, ptr_lib::shared_ptr<ValidationRequest> nextStep);
 
 private:
-  ptr_lib::shared_ptr<PolicyManager>     policyManager_;
+  ptr_lib::shared_ptr<SecPolicy>     policy_;
   ptr_lib::shared_ptr<Face>        face_;
 };
 
diff --git a/src/node.cpp b/src/node.cpp
index 404853e..6641bbc 100644
--- a/src/node.cpp
+++ b/src/node.cpp
@@ -14,7 +14,7 @@
 
 #include "util/ndnd-id-fetcher.hpp"
 
-#include <ndn-cpp/security/signature/signature-sha256-with-rsa.hpp>
+#include <ndn-cpp/security/signature-sha256-with-rsa.hpp>
 #include <ndn-cpp/status-response.hpp>
 
 using namespace std;
diff --git a/src/security/certificate/certificate-extension.cpp b/src/security/certificate-extension.cpp
similarity index 96%
rename from src/security/certificate/certificate-extension.cpp
rename to src/security/certificate-extension.cpp
index daa1e52..5494a2c 100644
--- a/src/security/certificate/certificate-extension.cpp
+++ b/src/security/certificate-extension.cpp
@@ -18,7 +18,7 @@
 #pragma GCC diagnostic ignored "-Wunused-function"
 #endif
 
-#include <ndn-cpp/security/certificate/certificate-extension.hpp>
+#include <ndn-cpp/security/certificate-extension.hpp>
 #include <cryptopp/asn.h>
 
 using namespace std;
diff --git a/src/security/certificate/certificate-subject-description.cpp b/src/security/certificate-subject-description.cpp
similarity index 96%
rename from src/security/certificate/certificate-subject-description.cpp
rename to src/security/certificate-subject-description.cpp
index ed62b82..3dc46f5 100644
--- a/src/security/certificate/certificate-subject-description.cpp
+++ b/src/security/certificate-subject-description.cpp
@@ -18,7 +18,7 @@
 #pragma GCC diagnostic ignored "-Wunused-function"
 #endif
 
-#include <ndn-cpp/security/certificate/certificate-subject-description.hpp>
+#include <ndn-cpp/security/certificate-subject-description.hpp>
 #include <cryptopp/asn.h>
 
 using namespace std;
diff --git a/src/security/certificate/certificate.cpp b/src/security/certificate.cpp
similarity index 97%
rename from src/security/certificate/certificate.cpp
rename to src/security/certificate.cpp
index 1708f70..3f87c9c 100644
--- a/src/security/certificate/certificate.cpp
+++ b/src/security/certificate.cpp
@@ -20,16 +20,16 @@
 
 #include <ndn-cpp/common.hpp>
 
-#include <ndn-cpp/security/certificate/certificate.hpp>
+#include <ndn-cpp/security/certificate.hpp>
 
-#include "../../util/logging.hpp"
-#include "../../util/time.hpp"
+#include "../util/logging.hpp"
+#include "../util/time.hpp"
 
 #include <cryptopp/asn.h>
 #include <cryptopp/base64.h>
 #include <cryptopp/files.h>
 
-#include "../../encoding/cryptopp/asn_ext.hpp"
+#include "../encoding/cryptopp/asn_ext.hpp"
 
 INIT_LOGGER("ndn.security.Certificate");
 
diff --git a/src/security/certificate/identity-certificate.cpp b/src/security/identity-certificate.cpp
similarity index 96%
rename from src/security/certificate/identity-certificate.cpp
rename to src/security/identity-certificate.cpp
index 1deb46f..4f9f9c8 100644
--- a/src/security/certificate/identity-certificate.cpp
+++ b/src/security/identity-certificate.cpp
@@ -6,7 +6,7 @@
  * See COPYING for copyright and distribution information.
  */
 
-#include <ndn-cpp/security/certificate/identity-certificate.hpp>
+#include <ndn-cpp/security/identity-certificate.hpp>
 
 using namespace std;
 
diff --git a/src/security/certificate/public-key.cpp b/src/security/public-key.cpp
similarity index 98%
rename from src/security/certificate/public-key.cpp
rename to src/security/public-key.cpp
index 3d178d0..2923ece 100644
--- a/src/security/certificate/public-key.cpp
+++ b/src/security/public-key.cpp
@@ -19,7 +19,7 @@
 #endif
 
 #include <ndn-cpp/common.hpp>
-#include <ndn-cpp/security/certificate/public-key.hpp>
+#include <ndn-cpp/security/public-key.hpp>
 
 #include <cryptopp/rsa.h>
 #include <cryptopp/base64.h>
diff --git a/src/security/policy/no-verify-policy-manager.cpp b/src/security/sec-policy-no-verify.cpp
similarity index 61%
rename from src/security/policy/no-verify-policy-manager.cpp
rename to src/security/sec-policy-no-verify.cpp
index b93bdb6..c2f7866 100644
--- a/src/security/policy/no-verify-policy-manager.cpp
+++ b/src/security/sec-policy-no-verify.cpp
@@ -6,30 +6,30 @@
  * See COPYING for copyright and distribution information.
  */
 
-#include <ndn-cpp/security/policy/no-verify-policy-manager.hpp>
+#include <ndn-cpp/security/sec-policy-no-verify.hpp>
 
 using namespace std;
 
 namespace ndn {
 
-NoVerifyPolicyManager::~NoVerifyPolicyManager()
+SecPolicyNoVerify::~SecPolicyNoVerify()
 {
 }
 
 bool 
-NoVerifyPolicyManager::skipVerifyAndTrust(const Data& data)
+SecPolicyNoVerify::skipVerifyAndTrust(const Data& data)
 { 
   return true; 
 }
 
 bool
-NoVerifyPolicyManager::requireVerify(const Data& data)
+SecPolicyNoVerify::requireVerify(const Data& data)
 { 
   return false; 
 }
     
 ptr_lib::shared_ptr<ValidationRequest>
-NoVerifyPolicyManager::checkVerificationPolicy
+SecPolicyNoVerify::checkVerificationPolicy
   (const ptr_lib::shared_ptr<Data>& data, int stepCount, const OnVerified& onVerified, const OnVerifyFailed& onVerifyFailed)
 { 
   onVerified(data); 
@@ -37,13 +37,13 @@
 }
 
 bool 
-NoVerifyPolicyManager::checkSigningPolicy(const Name& dataName, const Name& certificateName)
+SecPolicyNoVerify::checkSigningPolicy(const Name& dataName, const Name& certificateName)
 { 
   return true; 
 }
 
 Name 
-NoVerifyPolicyManager::inferSigningIdentity(const Name& dataName)
+SecPolicyNoVerify::inferSigningIdentity(const Name& dataName)
 { 
   return Name(); 
 }
diff --git a/src/security/policy/self-verify-policy-manager.cpp b/src/security/sec-policy-self-verify.cpp
similarity index 84%
rename from src/security/policy/self-verify-policy-manager.cpp
rename to src/security/sec-policy-self-verify.cpp
index 5c189c5..6d2081c 100644
--- a/src/security/policy/self-verify-policy-manager.cpp
+++ b/src/security/sec-policy-self-verify.cpp
@@ -8,11 +8,9 @@
 
 #ifdef TEMPRORARILY_DISABLED
 
-#include "../../c/util/crypto.h"
-#include <ndn-cpp/sha256-with-rsa-signature.hpp>
-#include <ndn-cpp/security/security-exception.hpp>
-#include <ndn-cpp/security/identity/identity-storage.hpp>
-#include <ndn-cpp/security/policy/self-verify-policy-manager.hpp>
+#include "../c/util/crypto.h"
+#include <ndn-cpp/security/identity-storage.hpp>
+#include <ndn-cpp/security/sec-policy-self-verify.hpp>
 
 using namespace std;
 
@@ -62,30 +60,30 @@
   return (success == 1);
 }
 
-SelfVerifyPolicyManager::~SelfVerifyPolicyManager()
+SecPolicySelfVerify::~SecPolicySelfVerify()
 {
 }
 
 bool 
-SelfVerifyPolicyManager::skipVerifyAndTrust(const Data& data)
+SecPolicySelfVerify::skipVerifyAndTrust(const Data& data)
 { 
   return false; 
 }
 
 bool
-SelfVerifyPolicyManager::requireVerify(const Data& data)
+SecPolicySelfVerify::requireVerify(const Data& data)
 { 
   return true; 
 }
     
 ptr_lib::shared_ptr<ValidationRequest>
-SelfVerifyPolicyManager::checkVerificationPolicy
+SecPolicySelfVerify::checkVerificationPolicy
   (const ptr_lib::shared_ptr<Data>& data, int stepCount, const OnVerified& onVerified, const OnVerifyFailed& onVerifyFailed)
 { 
   // Cast to const Data* so that we use the const version of getSignature() and don't reset the default encoding.
   const Sha256WithRsaSignature *signature = dynamic_cast<const Sha256WithRsaSignature*>(((const Data*)data.get())->getSignature());
   if (!signature)
-    throw SecurityException("SelfVerifyPolicyManager: Signature is not Sha256WithRsaSignature.");
+    throw SecurityException("SecPolicySelfVerify: Signature is not Sha256WithRsaSignature.");
   
   if (signature->getKeyLocator().getType() == ndn_KeyLocatorType_KEY) {
     // Use the public key DER directly.
@@ -116,13 +114,13 @@
 }
 
 bool 
-SelfVerifyPolicyManager::checkSigningPolicy(const Name& dataName, const Name& certificateName)
+SecPolicySelfVerify::checkSigningPolicy(const Name& dataName, const Name& certificateName)
 { 
   return true; 
 }
 
 Name 
-SelfVerifyPolicyManager::inferSigningIdentity(const Name& dataName)
+SecPolicySelfVerify::inferSigningIdentity(const Name& dataName)
 { 
   return Name(); 
 }
diff --git a/src/security/identity/sec-public-info-memory.cpp b/src/security/sec-public-info-memory.cpp
similarity index 97%
rename from src/security/identity/sec-public-info-memory.cpp
rename to src/security/sec-public-info-memory.cpp
index 966e574..61c6109 100644
--- a/src/security/identity/sec-public-info-memory.cpp
+++ b/src/security/sec-public-info-memory.cpp
@@ -5,10 +5,10 @@
  * See COPYING for copyright and distribution information.
  */
 
-#include <ndn-cpp/security/identity/sec-public-info-memory.hpp>
+#include <ndn-cpp/security/sec-public-info-memory.hpp>
 
 #include <algorithm>
-#include <ndn-cpp/security/certificate/identity-certificate.hpp>
+#include <ndn-cpp/security/identity-certificate.hpp>
 
 using namespace std;
 
diff --git a/src/security/identity/sec-public-info-sqlite3.cpp b/src/security/sec-public-info-sqlite3.cpp
similarity index 98%
rename from src/security/identity/sec-public-info-sqlite3.cpp
rename to src/security/sec-public-info-sqlite3.cpp
index 8f80db9..37e872e 100644
--- a/src/security/identity/sec-public-info-sqlite3.cpp
+++ b/src/security/sec-public-info-sqlite3.cpp
@@ -14,12 +14,12 @@
 #include <stdlib.h>
 #include <sstream>
 #include <fstream>
-#include "../../util/logging.hpp"
-#include "../../c/util/time.h"
+#include "../util/logging.hpp"
+#include "../c/util/time.h"
 #include <ndn-cpp/data.hpp>
-#include <ndn-cpp/security/certificate/identity-certificate.hpp>
-#include <ndn-cpp/security/identity/sec-public-info-sqlite3.hpp>
-#include <ndn-cpp/security/signature/signature-sha256-with-rsa.hpp>
+#include <ndn-cpp/security/identity-certificate.hpp>
+#include <ndn-cpp/security/sec-public-info-sqlite3.hpp>
+#include <ndn-cpp/security/signature-sha256-with-rsa.hpp>
 
 
 INIT_LOGGER("BasicKeyMetaInfo");
diff --git a/src/security/identity/sec-tpm-memory.cpp b/src/security/sec-tpm-memory.cpp
similarity index 97%
rename from src/security/identity/sec-tpm-memory.cpp
rename to src/security/sec-tpm-memory.cpp
index 9561cb9..fd6a79c 100644
--- a/src/security/identity/sec-tpm-memory.cpp
+++ b/src/security/sec-tpm-memory.cpp
@@ -5,8 +5,8 @@
  * See COPYING for copyright and distribution information.
  */
 
-#include <ndn-cpp/security/identity/sec-tpm-memory.hpp>
-#include <ndn-cpp/security/certificate/public-key.hpp>
+#include <ndn-cpp/security/sec-tpm-memory.hpp>
+#include <ndn-cpp/security/public-key.hpp>
 #include <openssl/ssl.h>
 #include <openssl/sha.h>
 #include <openssl/rsa.h>
diff --git a/src/security/identity/sec-tpm-osx.cpp b/src/security/sec-tpm-osx.cpp
similarity index 99%
rename from src/security/identity/sec-tpm-osx.cpp
rename to src/security/sec-tpm-osx.cpp
index f9954de..cfe7579 100644
--- a/src/security/identity/sec-tpm-osx.cpp
+++ b/src/security/sec-tpm-osx.cpp
@@ -10,10 +10,10 @@
 #include <fstream>
 #include <sstream>
 
-#include "../../util/logging.hpp"
+#include "../util/logging.hpp"
 
-#include <ndn-cpp/security/identity/sec-tpm-osx.hpp>
-#include <ndn-cpp/security/certificate/public-key.hpp>
+#include <ndn-cpp/security/sec-tpm-osx.hpp>
+#include <ndn-cpp/security/public-key.hpp>
 
 #include <CoreFoundation/CoreFoundation.h>
 #include <Security/Security.h>
diff --git a/src/security/verifier.cpp b/src/security/verifier.cpp
index a2ba790..992d1f0 100644
--- a/src/security/verifier.cpp
+++ b/src/security/verifier.cpp
@@ -20,7 +20,7 @@
 
 #include <ndn-cpp/security/verifier.hpp>
 
-#include <ndn-cpp/security/policy/policy-manager.hpp>
+#include <ndn-cpp/security/sec-policy.hpp>
 
 #include <cryptopp/rsa.h>
 
@@ -36,12 +36,12 @@
 INIT_LOGGER("ndn.Verifier");
 
 namespace ndn {
-const ptr_lib::shared_ptr<PolicyManager>     Verifier::DefaultPolicyManager     = ptr_lib::shared_ptr<PolicyManager>();
+const ptr_lib::shared_ptr<SecPolicy>     Verifier::DefaultPolicy     = ptr_lib::shared_ptr<SecPolicy>();
 
-Verifier::Verifier(const ptr_lib::shared_ptr<PolicyManager>     &policyManager     /* = DefaultPolicyManager */)                   
-  : policyManager_(policyManager)
+Verifier::Verifier(const ptr_lib::shared_ptr<SecPolicy>     &policy     /* = DefaultPolicy */)                   
+  : policy_(policy)
 {
-  if (policyManager_ == DefaultPolicyManager)
+  if (policy_ == DefaultPolicy)
     {
       // #ifdef USE_SIMPLE_POLICY_MANAGER
       //   Ptr<SimplePolicyManager> policyManager = Ptr<SimplePolicyManager>(new SimplePolicyManager());
@@ -63,7 +63,7 @@
       //   m_policyManager = policyManager;
       //
       // #else
-      //   policyManager_ = new NoVerifyPolicyManager();
+      //   policy_ = new NoVerifyPolicyManager();
       // #endif
     }  
 }
@@ -73,7 +73,7 @@
   (const ptr_lib::shared_ptr<Data>& data, const OnVerified& onVerified, const OnVerifyFailed& onVerifyFailed, int stepCount)
 {
   if (policies().requireVerify(*data)) {
-    ptr_lib::shared_ptr<ValidationRequest> nextStep = policyManager_->checkVerificationPolicy
+    ptr_lib::shared_ptr<ValidationRequest> nextStep = policy_->checkVerificationPolicy
       (data, stepCount, onVerified, onVerifyFailed);
     if (static_cast<bool>(nextStep))
       {
diff --git a/tests_boost/test-encode-decode-certificate.cpp b/tests_boost/test-encode-decode-certificate.cpp
index 9acc569..4799ce9 100644
--- a/tests_boost/test-encode-decode-certificate.cpp
+++ b/tests_boost/test-encode-decode-certificate.cpp
@@ -6,8 +6,8 @@
 
 #include <boost/test/unit_test.hpp>
 
-#include <ndn-cpp/security/certificate/certificate.hpp>
-#include <ndn-cpp/security/certificate/public-key.hpp>
+#include <ndn-cpp/security/certificate.hpp>
+#include <ndn-cpp/security/public-key.hpp>
 
 #if __clang__
 #pragma clang diagnostic push
