diff --git a/sdbusplus/server.hpp b/sdbusplus/server.hpp
new file mode 100644
index 0000000..6ec9757
--- /dev/null
+++ b/sdbusplus/server.hpp
@@ -0,0 +1,8 @@
+#pragma once
+
+#include <sdbusplus/bus.hpp>
+#include <sdbusplus/vtable.hpp>
+
+#include <sdbusplus/server/interface.hpp>
+#include <sdbusplus/server/manager.hpp>
+#include <sdbusplus/server/object.hpp>
diff --git a/sdbusplus/interface.hpp b/sdbusplus/server/interface.hpp
similarity index 97%
rename from sdbusplus/interface.hpp
rename to sdbusplus/server/interface.hpp
index da1f9fc..d730e07 100644
--- a/sdbusplus/interface.hpp
+++ b/sdbusplus/server/interface.hpp
@@ -72,5 +72,8 @@
 };
 
 } // namespace interface
+
+using interface_t = interface::interface;
+
 } // namespace server
 } // namespace sdbusplus
diff --git a/sdbusplus/manager.hpp b/sdbusplus/server/manager.hpp
similarity index 97%
rename from sdbusplus/manager.hpp
rename to sdbusplus/server/manager.hpp
index 3513f2a..5228b5f 100644
--- a/sdbusplus/manager.hpp
+++ b/sdbusplus/server/manager.hpp
@@ -54,5 +54,8 @@
 };
 
 } // namespace manager
+
+using manager_t = manager::manager;
+
 } // namespace server
 } // namespace sdbusplus
diff --git a/sdbusplus/object.hpp b/sdbusplus/server/object.hpp
similarity index 100%
rename from sdbusplus/object.hpp
rename to sdbusplus/server/object.hpp
diff --git a/tools/templates/interface.mako.server.cpp b/tools/templates/interface.mako.server.cpp
index 382ae7c..63bc788 100644
--- a/tools/templates/interface.mako.server.cpp
+++ b/tools/templates/interface.mako.server.cpp
@@ -1,5 +1,4 @@
-#include <sdbusplus/bus.hpp>
-#include <sdbusplus/message.hpp>
+#include <sdbusplus/server.hpp>
 #include <${"/".join(interface.name.split('.') + [ 'server.hpp' ])}>
     <%
         namespaces = interface.name.split('.')
diff --git a/tools/templates/interface.mako.server.hpp b/tools/templates/interface.mako.server.hpp
index fa499b4..1d23646 100644
--- a/tools/templates/interface.mako.server.hpp
+++ b/tools/templates/interface.mako.server.hpp
@@ -1,9 +1,7 @@
 #pragma once
 #include <tuple>
 #include <systemd/sd-bus.h>
-#include <sdbusplus/vtable.hpp>
-#include <sdbusplus/interface.hpp>
-#include <sdbusplus/bus.hpp>
+#include <sdbusplus/server.hpp>
     <%
         namespaces = interface.name.split('.')
         classname = namespaces.pop()
@@ -51,7 +49,7 @@
     % endfor
 
         static constexpr auto _interface = "${interface.name}";
-        static const sdbusplus::vtable::vtable_t _vtable[];
+        static const vtable::vtable_t _vtable[];
         interface::interface _${"_".join(interface.name.split('.'))}_interface;
 
 };
diff --git a/tools/templates/method.mako.prototype.hpp b/tools/templates/method.mako.prototype.hpp
index 5e8f2ac..d8155c7 100644
--- a/tools/templates/method.mako.prototype.hpp
+++ b/tools/templates/method.mako.prototype.hpp
@@ -91,7 +91,7 @@
         sd_bus_message* msg, void* context, sd_bus_error* error)
 {
     ### Need to add a ref to msg since we attached it to an sdbusplus::message.
-    auto m = sdbusplus::message::message(sd_bus_message_ref(msg));
+    auto m = message::message(sd_bus_message_ref(msg));
 
     % if len(method.parameters) != 0:
     ${parameters_as_local()}{};
