diff --git a/src/storage/index.hpp b/src/storage/index.hpp
index 51d51b2..d60bd37 100644
--- a/src/storage/index.hpp
+++ b/src/storage/index.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014,  Regents of the University of California.
+/*
+ * Copyright (c) 2014-2018, Regents of the University of California.
  *
  * This file is part of NDN repo-ng (Next generation of NDN repository).
  * See AUTHORS.md for complete list of repo-ng authors and contributors.
@@ -20,7 +20,8 @@
 #ifndef REPO_STORAGE_INDEX_HPP
 #define REPO_STORAGE_INDEX_HPP
 
-#include "common.hpp"
+#include "../common.hpp"
+
 #include <set>
 
 namespace repo {
@@ -52,13 +53,10 @@
     };
 
   public:
-
     /**
      * @brief used by set to construct node
      */
-    Entry()
-    {
-    };
+    Entry() = default;
 
     /**
      * @brief construct Entry by data and id number
@@ -143,7 +141,6 @@
   };
 
 private:
-
   typedef std::set<Entry> IndexContainer;
 
 public:
diff --git a/src/storage/storage.hpp b/src/storage/storage.hpp
index bf75306..e1cb537 100755
--- a/src/storage/storage.hpp
+++ b/src/storage/storage.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014,  Regents of the University of California.
+/*
+ * Copyright (c) 2014-2018, Regents of the University of California.
  *
  * This file is part of NDN repo-ng (Next generation of NDN repository).
  * See AUTHORS.md for complete list of repo-ng authors and contributors.
@@ -19,9 +19,7 @@
 
 #ifndef REPO_STORAGE_STORAGE_HPP
 #define REPO_STORAGE_STORAGE_HPP
-#include <string>
-#include <iostream>
-#include <stdlib.h>
+
 #include "../common.hpp"
 
 namespace repo {
@@ -42,7 +40,6 @@
     }
   };
 
-public:
   class ItemMeta
   {
   public:
@@ -51,12 +48,9 @@
     ndn::ConstBufferPtr keyLocatorHash;
   };
 
-public :
-
+public:
   virtual
-  ~Storage()
-  {
-  };
+  ~Storage() = default;
 
   /**
    *  @brief  put the data into database
@@ -91,9 +85,8 @@
    */
   virtual void
   fullEnumerate(const std::function<void(const Storage::ItemMeta)>& f) = 0;
-
 };
 
 } // namespace repo
 
-#endif // REPO_STORAGE_Storage_HPP
+#endif // REPO_STORAGE_STORAGE_HPP
