diff --git a/gui/main.py b/gui/main.py
index 510395b..daefd7f 100755
--- a/gui/main.py
+++ b/gui/main.py
@@ -1,6 +1,6 @@
 import sys
-from PyQt5 import uic
-from PyQt5.QtWidgets import QMainWindow, QTableWidgetItem
+from PyQt5.QtCore import Qt
+from PyQt5.QtWidgets import QMainWindow, QTableWidgetItem, QHeaderView
 from gui.main_ui import Ui_MainWindow
 from handlers.gamepad import Gamepad
 from models.gamepad import GamepadModel
@@ -13,12 +13,16 @@ class MainWindow(QMainWindow):
         self._gui = Ui_MainWindow()
         self._gui.setupUi(self)
 
-        model = GamepadModel(gamepad_handler.find_gamepads())
-        self._gui.tableView_physicalControllerList.setModel(model)
-
-        self._gui.tableView_physicalControllerList.resizeColumnsToContents()
+        self.gamepad_model = GamepadModel(self._gamepad_handler.find_gamepads())
+        self._gui.tableView_physicalControllerList.setModel(self.gamepad_model)
+        self._gui.tableView_physicalControllerList.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents)
+        self._gui.tableView_physicalControllerList.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch)
+        self._gui.tableView_physicalControllerList.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeToContents)
 
         self._gui.pushButton_physicalControllerRefresh.clicked.connect(self.controller_list_refresh)
 
     def controller_list_refresh(self):
+        self.gamepad_model.beginResetModel()
+        self.gamepad_model.gamepads = self._gamepad_handler.find_gamepads()
+        self.gamepad_model.endResetModel()
         return
diff --git a/gui/main_ui.py b/gui/main_ui.py
index ec702b7..6895031 100644
--- a/gui/main_ui.py
+++ b/gui/main_ui.py
@@ -37,7 +37,7 @@ class Ui_MainWindow(object):
         self.tableView_physicalControllerList.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
         self.tableView_physicalControllerList.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
         self.tableView_physicalControllerList.setObjectName("tableView_physicalControllerList")
-        self.tableView_physicalControllerList.horizontalHeader().setStretchLastSection(True)
+        self.tableView_physicalControllerList.horizontalHeader().setHighlightSections(False)
         self.tableView_physicalControllerList.verticalHeader().setVisible(False)
         self.verticalLayout_2.addWidget(self.tableView_physicalControllerList)
         self.horizontalLayout_physicalControllerActions = QtWidgets.QHBoxLayout()
diff --git a/gui/main_ui.ui b/gui/main_ui.ui
index c9c3451..ee2389d 100644
--- a/gui/main_ui.ui
+++ b/gui/main_ui.ui
@@ -61,8 +61,8 @@
            <property name="selectionBehavior">
             <enum>QAbstractItemView::SelectRows</enum>
            </property>
-           <attribute name="horizontalHeaderStretchLastSection">
-            <bool>true</bool>
+           <attribute name="horizontalHeaderHighlightSections">
+            <bool>false</bool>
            </attribute>
            <attribute name="verticalHeaderVisible">
             <bool>false</bool>
diff --git a/handlers/config.py b/handlers/config.py
new file mode 100644
index 0000000..f2978f2
--- /dev/null
+++ b/handlers/config.py
@@ -0,0 +1,13 @@
+
+class ConfigHandler:
+    def __init__(self):
+        super().__init__()
+
+    def load():
+        return
+
+    def save():
+        return
+
+    def update():
+        return
\ No newline at end of file
diff --git a/handlers/gamepad.py b/handlers/gamepad.py
index 7521968..9e71d2e 100755
--- a/handlers/gamepad.py
+++ b/handlers/gamepad.py
@@ -1,3 +1,4 @@
+from enum import Enum
 from evdev import InputDevice, list_devices, ecodes as e, UInput, AbsInfo
 
 class GamepadHandler:
@@ -13,12 +14,24 @@ class GamepadHandler:
 
 class Gamepad:
 
+    class GamepadType(Enum):
+        UNKNOWN = 0
+        CLASSIC = 1
+        NSWITCH = 2
+
     def __init__(self, vid, pid, name):
         super().__init__()
         self.vid = vid
         self.pid = pid
         self.name = name
+        self.type = self.get_gamepad_type(vid, pid)
+        self.config = None
 
+    def get_gamepad_type(self, vid, pid):
+        match vid, pid:
+            case 0x0f0d, 0x00c1:
+                return self.GamepadType.NSWITCH
+        return self.GamepadType.UNKNOWN
 
 """ cap = {
     e.EV_KEY : [e.BTN_NORTH, e.BTN_SOUTH, e.BTN_EAST, e.BTN_WEST, e.BTN_SELECT, e.BTN_START],
diff --git a/models/gamepad.py b/models/gamepad.py
index 997b509..3b1297b 100644
--- a/models/gamepad.py
+++ b/models/gamepad.py
@@ -17,9 +17,12 @@ class GamepadModel(QAbstractTableModel):
                 case 1:
                     return self.gamepads[index.row()].name
                 case 2:
-                    return self.get_gamepad_hash(index)
-                case _:
-                    return None
+                    if self.gamepads[index.row()].type == Gamepad.GamepadType.UNKNOWN:
+                        return "Not configured"
+                    else:
+                        return "Configured"
+        elif role == Qt.TextAlignmentRole and index.column() != 1:
+            return Qt.AlignCenter
 
     def rowCount(self, index):
         return len(self.gamepads)