diff --git a/inc/reset_button.hpp b/inc/reset_button.hpp
index 5066bb1..478628b 100644
--- a/inc/reset_button.hpp
+++ b/inc/reset_button.hpp
@@ -32,17 +32,20 @@
 {
 
     ResetButton(sdbusplus::bus::bus& bus, const char* path, EventPtr& event,
+                buttonConfig& buttonCfg,
                 sd_event_io_handler_t handler = ResetButton::EventHandler) :
         sdbusplus::server::object::object<
             sdbusplus::xyz::openbmc_project::Chassis::Buttons::server::Reset>(
             bus, path),
-        fd(-1), bus(bus), event(event), callbackHandler(handler)
+        fd(-1), buttonIFConfig(buttonCfg), bus(bus), event(event),
+        callbackHandler(handler)
     {
 
         int ret = -1;
 
-        // config gpio
-        ret = ::configGpio(RESET_BUTTON, &fd, bus);
+        // config group gpio based on the gpio defs read from the json file
+        ret = configGroupGpio(bus, buttonIFConfig);
+
         if (ret < 0)
         {
             phosphor::logging::log<phosphor::logging::level::ERR>(
@@ -51,6 +54,10 @@
                 IOError();
         }
 
+        // initialize the button io fd from the buttonConfig
+        // which has fd stored when configGroupGpio is called
+        fd = buttonIFConfig.gpios[0].fd;
+
         char buf;
         ::read(fd, &buf, sizeof(buf));
 
@@ -73,7 +80,7 @@
 
     void simPress() override;
 
-    static const char* getGpioName()
+    static const std::string getGpioName()
     {
         return RESET_BUTTON;
     }
@@ -142,6 +149,7 @@
 
   private:
     int fd;
+    buttonConfig buttonIFConfig; // button iface io details
     sdbusplus::bus::bus& bus;
     EventPtr& event;
     sd_event_io_handler_t callbackHandler;
