diff --git a/soitool/modules/module_phonebook.py b/soitool/modules/module_phonebook.py
index b41de9af2915c0bc385aea1ae69a842a1b5a6615..be37faa6f80b3677d8894abfb0f63e0da5d96f2f 100644
--- a/soitool/modules/module_phonebook.py
+++ b/soitool/modules/module_phonebook.py
@@ -7,6 +7,7 @@ from PySide2.QtWidgets import (
     QPushButton,
     QHBoxLayout,
     QTableWidgetItem,
+    QCheckBox,
 )
 from PySide2.QtCore import Qt, QSize
 from PySide2.QtGui import QKeySequence, QBrush, QColor
@@ -19,7 +20,38 @@ from soitool.modules.module_base import (
 
 
 class ComponentsChoicePopup(QDialog):
-    pass
+    def __init__(self, table_columns):
+
+        super().__init__()
+
+        self.table_columns = table_columns
+
+        self.setWindowTitle("Kolonner")
+
+        # Layout
+        layout = QVBoxLayout()
+
+        for header in self.table_columns.keys():
+            box = QCheckBox(header)
+            box.setChecked(self.table_columns[header])
+            layout.addWidget(box)
+
+        btn_done = QPushButton("Bruk")
+        btn_done.clicked.connect(lambda: self.update_table_columns(layout))
+        layout.addWidget(btn_done)
+
+        self.setLayout(layout)
+
+    def update_table_columns(self, layout):
+
+        for item_index in range(layout.count()):
+            item = layout.itemAt(item_index).widget()
+            if isinstance(item, QCheckBox):
+                self.table_columns[item.text()] = item.isChecked()
+        self.accept()
+
+    def get_table_columns(self):
+        return self.table_columns
 
 
 class Meta(type(ModuleBase), type(QWidget)):
@@ -62,11 +94,6 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta):
         layout.addWidget(self.buttons)
         self.setLayout(layout)
 
-        for i in range(self.table.columnCount()):
-            self.table.setCurrentCell(0, i)
-            item = self.table.currentItem()
-            print(item.text())
-
         self.set_columns()
 
     #   !!!!! CREATE MAIN COMPONENTS !!!!!!
@@ -98,7 +125,7 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta):
     def __creat_buttons(self):
 
         btn_components = QPushButton("Kolonner", self)
-        btn_components.clicked.connect(lambda: print("btn_components clicked"))
+        btn_components.clicked.connect(lambda: self.open_popup())
         btn_components.setShortcut(QKeySequence(Qt.CTRL + Qt.Key_K))
         btn_components.setFixedWidth(100)
 
@@ -157,9 +184,7 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta):
             self.resize()
 
     def set_columns(self):
-        print(self.table_columns.keys())
         for header in self.table_columns.keys():
-            print(header)
             self.table.setColumnHidden(
                 self.get_column_index_by_header(header),
                 not (self.table_columns[header]),
@@ -191,7 +216,10 @@ class PhonebookModule(ModuleBase, QWidget, metaclass=Meta):
         self.setFixedSize(QSize(width, height))
 
     def open_popup(self):
-        pass
+        popup = ComponentsChoicePopup(self.table_columns)
+        popup.exec_()
+        self.table_columns = popup.get_table_columns()
+        self.set_columns()
 
     #   !!!!! MODULE BASE OPERATIONS !!!!!