diff --git a/src/ipmiblob/blob_errors.hpp b/src/ipmiblob/blob_errors.hpp
index 45f0e46..78c9a66 100644
--- a/src/ipmiblob/blob_errors.hpp
+++ b/src/ipmiblob/blob_errors.hpp
@@ -3,7 +3,7 @@
 #include <exception>
 #include <string>
 
-namespace host_tool
+namespace ipmiblob
 {
 
 class BlobException : public std::exception
@@ -20,4 +20,4 @@
     std::string message;
 };
 
-} // namespace host_tool
+} // namespace ipmiblob
diff --git a/src/ipmiblob/blob_handler.cpp b/src/ipmiblob/blob_handler.cpp
index 5be0b2d..2ea927a 100644
--- a/src/ipmiblob/blob_handler.cpp
+++ b/src/ipmiblob/blob_handler.cpp
@@ -23,7 +23,7 @@
 #include <array>
 #include <cstring>
 
-namespace host_tool
+namespace ipmiblob
 {
 
 namespace
@@ -312,4 +312,4 @@
     return sendIpmiPayload(BlobOEMCommands::bmcBlobRead, payload);
 }
 
-} // namespace host_tool
+} // namespace ipmiblob
diff --git a/src/ipmiblob/blob_handler.hpp b/src/ipmiblob/blob_handler.hpp
index cbac9d4..22ad5f5 100644
--- a/src/ipmiblob/blob_handler.hpp
+++ b/src/ipmiblob/blob_handler.hpp
@@ -3,7 +3,7 @@
 #include "blob_interface.hpp"
 #include "ipmi_interface.hpp"
 
-namespace host_tool
+namespace ipmiblob
 {
 
 class BlobHandler : public BlobInterface
@@ -105,4 +105,4 @@
     IpmiInterface* ipmi;
 };
 
-} // namespace host_tool
+} // namespace ipmiblob
diff --git a/src/ipmiblob/blob_interface.hpp b/src/ipmiblob/blob_interface.hpp
index f85be59..5d311ee 100644
--- a/src/ipmiblob/blob_interface.hpp
+++ b/src/ipmiblob/blob_interface.hpp
@@ -4,7 +4,7 @@
 #include <string>
 #include <vector>
 
-namespace host_tool
+namespace ipmiblob
 {
 
 struct StatResponse
@@ -88,4 +88,4 @@
                                                 std::uint32_t length) = 0;
 };
 
-} // namespace host_tool
+} // namespace ipmiblob
diff --git a/src/ipmiblob/crc.cpp b/src/ipmiblob/crc.cpp
index d6f59ef..617a9d6 100644
--- a/src/ipmiblob/crc.cpp
+++ b/src/ipmiblob/crc.cpp
@@ -1,6 +1,6 @@
 #include "crc.hpp"
 
-namespace host_tool
+namespace ipmiblob
 {
 
 /*
@@ -41,4 +41,4 @@
     return crc;
 }
 
-} // namespace host_tool
+} // namespace ipmiblob
diff --git a/src/ipmiblob/crc.hpp b/src/ipmiblob/crc.hpp
index c335ed2..c257ad5 100644
--- a/src/ipmiblob/crc.hpp
+++ b/src/ipmiblob/crc.hpp
@@ -3,7 +3,7 @@
 #include <cstdint>
 #include <vector>
 
-namespace host_tool
+namespace ipmiblob
 {
 
 /**
@@ -17,4 +17,4 @@
  */
 std::uint16_t generateCrc(const std::vector<std::uint8_t>& data);
 
-} // namespace host_tool
+} // namespace ipmiblob
diff --git a/src/ipmiblob/ipmi_errors.hpp b/src/ipmiblob/ipmi_errors.hpp
index 9f1a9f9..02bfe0b 100644
--- a/src/ipmiblob/ipmi_errors.hpp
+++ b/src/ipmiblob/ipmi_errors.hpp
@@ -5,7 +5,7 @@
 #include <sstream>
 #include <string>
 
-namespace host_tool
+namespace ipmiblob
 {
 
 class IpmiException : public std::exception
@@ -44,4 +44,4 @@
     std::string message;
 };
 
-} // namespace host_tool
+} // namespace ipmiblob
diff --git a/src/ipmiblob/ipmi_handler.cpp b/src/ipmiblob/ipmi_handler.cpp
index 9278338..e4c59fc 100644
--- a/src/ipmiblob/ipmi_handler.cpp
+++ b/src/ipmiblob/ipmi_handler.cpp
@@ -30,7 +30,7 @@
 #include <string>
 #include <vector>
 
-namespace host_tool
+namespace ipmiblob
 {
 
 void IpmiHandler::open()
@@ -162,4 +162,4 @@
     return returning;
 }
 
-} // namespace host_tool
+} // namespace ipmiblob
diff --git a/src/ipmiblob/ipmi_handler.hpp b/src/ipmiblob/ipmi_handler.hpp
index 1c91bff..4a1ed9f 100644
--- a/src/ipmiblob/ipmi_handler.hpp
+++ b/src/ipmiblob/ipmi_handler.hpp
@@ -5,7 +5,7 @@
 
 #include <vector>
 
-namespace host_tool
+namespace ipmiblob
 {
 
 class IpmiHandler : public IpmiInterface
@@ -43,4 +43,4 @@
     int sequence = 0;
 };
 
-} // namespace host_tool
+} // namespace ipmiblob
diff --git a/src/ipmiblob/ipmi_interface.hpp b/src/ipmiblob/ipmi_interface.hpp
index 6bad7db..bf7b448 100644
--- a/src/ipmiblob/ipmi_interface.hpp
+++ b/src/ipmiblob/ipmi_interface.hpp
@@ -3,7 +3,7 @@
 #include <cstdint>
 #include <vector>
 
-namespace host_tool
+namespace ipmiblob
 {
 
 class IpmiInterface
@@ -22,4 +22,4 @@
         sendPacket(std::vector<std::uint8_t>& data) = 0;
 };
 
-} // namespace host_tool
+} // namespace ipmiblob
diff --git a/src/ipmiblob/test/ipmi_interface_mock.hpp b/src/ipmiblob/test/ipmi_interface_mock.hpp
index c3e187e..c8324af 100644
--- a/src/ipmiblob/test/ipmi_interface_mock.hpp
+++ b/src/ipmiblob/test/ipmi_interface_mock.hpp
@@ -4,7 +4,7 @@
 
 #include <gmock/gmock.h>
 
-namespace host_tool
+namespace ipmiblob
 {
 
 class IpmiInterfaceMock : public IpmiInterface
@@ -15,4 +15,4 @@
                  std::vector<std::uint8_t>(std::vector<std::uint8_t>&));
 };
 
-} // namespace host_tool
+} // namespace ipmiblob
