diff --git a/include/app_type.hpp b/include/app_type.hpp
deleted file mode 100644
index e88d728..0000000
--- a/include/app_type.hpp
+++ /dev/null
@@ -1,6 +0,0 @@
-#pragma once
-
-#include <crow/app.h>
-#include <token_authorization_middleware.hpp>
-
-using BmcAppType = crow::App<crow::TokenAuthorizationMiddleware>;
\ No newline at end of file
diff --git a/include/crow/bmc_app_type.hpp b/include/crow/bmc_app_type.hpp
new file mode 100644
index 0000000..061143b
--- /dev/null
+++ b/include/crow/bmc_app_type.hpp
@@ -0,0 +1,7 @@
+#pragma once
+
+#include <crow/app.h>
+#include <token_authorization_middleware.hpp>
+#include <security_headers_middleware.hpp>
+
+using BmcAppType = crow::App<crow::TokenAuthorizationMiddleware, crow::SecurityHeadersMiddleware>;
\ No newline at end of file
diff --git a/include/crow_g3_logger.hpp b/include/crow/g3_logger.hpp
similarity index 84%
rename from include/crow_g3_logger.hpp
rename to include/crow/g3_logger.hpp
index be84de0..8980207 100644
--- a/include/crow_g3_logger.hpp
+++ b/include/crow/g3_logger.hpp
@@ -34,30 +34,25 @@
 
 class logger {
  public:
-  logger(std::string prefix, LogLevel level) : level_(level) {
+  logger(std::string prefix, LogLevel level) {
     // no op, let g3 handle th log levels
   }
 
   //
   template <typename T>
   logger& operator<<(T const& value) {
-#ifdef CROW_ENABLE_LOGGING
-    if (level_ >= get_current_log_level()) {
-      stringstream_ << value;
-    }
-#endif
     return *this;
   }
 
   //
-  static void setLogLevel(LogLevel level) { get_log_level_ref() = level; }
+  static void setLogLevel(LogLevel level) { }
 
   static LogLevel get_current_log_level() { return get_log_level_ref(); }
 
  private:
   //
   static LogLevel& get_log_level_ref() {
-    static LogLevel current_level = (LogLevel)CROW_LOG_LEVEL;
+    static LogLevel current_level = LogLevel::DEBUG;
     return current_level;
   }
 
diff --git a/include/security_headers_middleware.hpp b/include/security_headers_middleware.hpp
new file mode 100644
index 0000000..7e84543
--- /dev/null
+++ b/include/security_headers_middleware.hpp
@@ -0,0 +1,15 @@
+#pragma once
+
+#include <crow/http_request.h>
+#include <crow/http_response.h>
+
+namespace crow {
+
+struct SecurityHeadersMiddleware {
+  struct context {};
+
+  void before_handle(crow::request& req, response& res, context& ctx);
+
+  void after_handle(request& req, response& res, context& ctx);
+};
+}
\ No newline at end of file
diff --git a/include/token_authorization_middleware.hpp b/include/token_authorization_middleware.hpp
index 1602656..58766b9 100644
--- a/include/token_authorization_middleware.hpp
+++ b/include/token_authorization_middleware.hpp
@@ -17,10 +17,13 @@
     std::string auth_token;
   };
 
-  std::string auth_token2;
+  TokenAuthorizationMiddleware();
 
   void before_handle(crow::request& req, response& res, context& ctx);
 
   void after_handle(request& req, response& res, context& ctx);
+
+  private:
+    std::string auth_token2;
 };
 }
\ No newline at end of file
diff --git a/include/web_kvm.hpp b/include/web_kvm.hpp
index 24544fc..65fe812 100644
--- a/include/web_kvm.hpp
+++ b/include/web_kvm.hpp
@@ -1,7 +1,7 @@
 #include <boost/endian/arithmetic.hpp>
 #include <string>
 
-#include "app_type.hpp"
+#include <crow/bmc_app_type.hpp>
 
 #include <video.h>
 
diff --git a/include/webassets.hpp b/include/webassets.hpp
index b5431bc..1994cf5 100644
--- a/include/webassets.hpp
+++ b/include/webassets.hpp
@@ -7,7 +7,7 @@
 #include <crow/http_response.h>
 
 #include <crow/routing.h>
-#include <app_type.hpp>
+#include <crow/bmc_app_type.hpp>
 
 
 namespace crow {
