diff --git a/nvme_main.cpp b/nvme_main.cpp
new file mode 100644
index 0000000..956e374
--- /dev/null
+++ b/nvme_main.cpp
@@ -0,0 +1,37 @@
+#include "nvme_manager.hpp"
+
+#include <sdbusplus/bus.hpp>
+#include <sdbusplus/sdbus.hpp>
+#include <sdbusplus/server/manager.hpp>
+
+int main(void)
+{
+
+    sdbusplus::bus::bus bus = sdbusplus::bus::new_default();
+
+    sd_event* event = nullptr;
+    auto eventDeleter = [](sd_event* e) { e = sd_event_unref(e); };
+    using SdEvent = std::unique_ptr<sd_event, decltype(eventDeleter)>;
+    // acquire a reference to the default event loop
+    sd_event_default(&event);
+    SdEvent sdEvent{event, eventDeleter};
+    event = nullptr;
+    // attach bus to this event loop
+    bus.attach_event(sdEvent.get(), SD_EVENT_PRIORITY_NORMAL);
+
+    sdbusplus::server::manager::manager objManager(bus, NVME_OBJ_PATH_ROOT);
+
+    phosphor::nvme::Nvme objMgr(bus);
+
+    bus.request_name(NVME_REQUEST_NAME);
+
+    objMgr.run();
+
+    // Start event loop for all sd-bus events
+
+    sd_event_loop(bus.get_event());
+
+    bus.detach_event();
+
+    return 0;
+}
\ No newline at end of file
