diff --git a/examples/example2/main.py b/examples/example2/main.py
index 0eccfc7693cfca2a4a44372979d44e45bc9e5531..907ec724144ef4bedd24d26040ce70dafaf13133 100644
--- a/examples/example2/main.py
+++ b/examples/example2/main.py
@@ -7,6 +7,8 @@ from PySide6.QtCore import Signal, QObject
 from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QTreeWidget
 from rich.logging import RichHandler
 
+sys.path.append('../../src')
+import confighandler
 from ApplicationConfig import ApplicationConfig
 
 class TestClass(QObject):
@@ -56,10 +58,8 @@ if __name__ == "__main__":
     #grd.addWidget(config.view.widget(), 1, 0)
 
     tree = QTreeWidget()
-
-
-    tree.setColumnCount(3)
-    tree.setHeaderLabels(["Name", "Type", "asdf"])
+    #tree.setColumnCount(3)
+    tree.setHeaderLabels(confighandler.tree_view_header())
     tree.addTopLevelItem(config.view.ui_tree_widget_item(tree, max_level=1))
     grd.addWidget(tree, 2, 0)
 
diff --git a/src/confighandler/__init__.py b/src/confighandler/__init__.py
index d75e4036400f4b8acb96cb198e242d782ada56d3..b7d25573720615d3ac7832e0489db22e041969f5 100644
--- a/src/confighandler/__init__.py
+++ b/src/confighandler/__init__.py
@@ -3,7 +3,9 @@ import sys
 
 sys.path.append(os.path.join(os.path.dirname(__file__), '../'))
 from .controller.Field import Field
+from .controller.Field import T
 from .controller.ConfigNode import ConfigNode
+from .view.ConfigView import ConfigView
 from .view.FieldView import FieldView
 
 
@@ -13,4 +15,7 @@ from .controller.SelectableList import SelectableList
 from .controller.fields.FieldSelectableList import FieldSelectableList
 from .view.fields.FieldViewSelectableList import FieldViewSelectableList
 
+# define a tree view header
+def tree_view_header():
+    return ["Name", "Value", "Description", "Type"]
 
diff --git a/src/confighandler/controller/ConfigNode.py b/src/confighandler/controller/ConfigNode.py
index 26100ae902b6f93b164a8f1aceaa2e531bd35c8b..e0601834cdae184a2d9bc3d99377941e58bb1fc8 100644
--- a/src/confighandler/controller/ConfigNode.py
+++ b/src/confighandler/controller/ConfigNode.py
@@ -13,10 +13,11 @@ import pathlib
 
 import yaml
 
+import confighandler
 from .CObject import CObject
 from .CSignal import CSignal
 from .Field import Field
-from ..view.ConfigView import ConfigView
+#from ..view.ConfigView import ConfigView
 
 
 class ConfigNode(CObject):
@@ -29,6 +30,7 @@ class ConfigNode(CObject):
 
         self._autosave = False
         self.name = self.__class__.__name__
+
         self.config_file: pathlib.Path = pathlib.Path(f"./{self.name}.yaml")
 
 
@@ -37,7 +39,7 @@ class ConfigNode(CObject):
         self.owner = None
         self._level = 0
 
-        self.view = ConfigView(self)
+        self.view = confighandler.ConfigView(self)
 
         self.fields = {}
         self.configs = {}
@@ -155,6 +157,11 @@ class ConfigNode(CObject):
     def level(self):
         return self._level
 
+    @property
+    def autosave_enable(self):
+        return self._autosave
+
+
     # ==================================================================================================================
     # Registering the fields and configs
     # ==================================================================================================================
diff --git a/src/confighandler/controller/Field.py b/src/confighandler/controller/Field.py
index a2ae326239f3a6ec3ea10be0db2c85c72da425d6..f66c402b9000f9da0b095c40dcabc3e0ae6a8ce0 100644
--- a/src/confighandler/controller/Field.py
+++ b/src/confighandler/controller/Field.py
@@ -17,12 +17,13 @@ from PySide6.QtWidgets import QApplication
 import confighandler
 from confighandler.controller.CObject import CObject
 from confighandler.controller.CSignal import CSignal
-from confighandler.view.FieldView import FieldView
+#from confighandler.view.FieldView import FieldView
 
 
 class FieldData(object):
     def __init__(self, name: str, value, friendly_name: str, description: str):
         self.name = name
+        self._friendly_name = "Not Set or field not registered"
         self.value = [value, friendly_name, description]
 
 
@@ -59,7 +60,7 @@ class Field(Generic[T], CObject):
 
     @abstractmethod
     def create_view(self):
-        return FieldView(self)
+        return confighandler.FieldView(self)
 
     def __new__(cls, value, friendly_name: str = None, description: str = None):
         # print(f"Field {cls.__name__} created with value {value} of type {type(value)} -> {isinstance(value, int)}")
diff --git a/src/confighandler/view/ConfigView.py b/src/confighandler/view/ConfigView.py
index 01e3257d48766e3d67c411de8a17c1b154a7f585..42a6cb3f9d1a728f4af7f6f8d36a088020433a5b 100644
--- a/src/confighandler/view/ConfigView.py
+++ b/src/confighandler/view/ConfigView.py
@@ -16,7 +16,7 @@ import confighandler
 class ConfigView(QObject):
     keywords_changed = Signal(dict)
 
-    def __init__(self, parent):
+    def __init__(self, parent: confighandler.ConfigNode):
         super().__init__()
         self.parent = parent
         self.keywords = {}
@@ -32,7 +32,7 @@ class ConfigView(QObject):
 
     def ui_tree_widget_item(self, tree_widget, max_level=1):
         top_item = QtWidgets.QTreeWidgetItem()
-        top_item.setText(0, f"{self.__class__.__name__}")
+        top_item.setText(0, f"{self.parent.name}")
 
         for attr, val in self.parent.fields.items():
             item, le = val.view.ui_tree_widget_item()
@@ -44,8 +44,40 @@ class ConfigView(QObject):
             if val.level <= max_level:
                 top_item.addChild(val.view.ui_tree_widget_item(tree_widget))
 
+        # Create
+        if self.parent.level == 0:
+            top_item.addChild(self._autosave_widget())
+
         return top_item
 
+    def _autosave_widget(self):
+        """
+        Creates a widget for the autosave option.
+        :return:
+        """
+        widget = QtWidgets.QTreeWidgetItem()
+        #layout = QtWidgets.QHBoxLayout()
+        #widget.setLayout(layout)
+
+        #lbl = QLabel("Autosave")
+        #layout.addWidget(lbl)
+
+        cbx = QtWidgets.QCheckBox()
+        #cbx.setChecked(self.parent._autosave)
+        #cbx.stateChanged.connect(self.parent._on_autosave_changed)
+        widget.setText(0, f"Config Settings")
+        widget.addChild(
+         QtWidgets.QTreeWidgetItem(
+                ["File:", str(self.parent.config_file), None, None],
+         )
+        )
+        widget.addChild(
+         QtWidgets.QTreeWidgetItem(
+                ["Autosave:", str(self.parent.autosave_enable), None, None],
+         )
+        )
+        return widget
+
     def _create_config_layout(self, max_level):
         """ Creates a pyside 6 layout based on the fields of the class."""
         grd_layout = QtWidgets.QGridLayout()
diff --git a/src/confighandler/view/FieldView.py b/src/confighandler/view/FieldView.py
index 1c79611f5404df363a0ebc07a82182abd29e617c..fa0c1cd6b9b47019eef8cc266047ca96e79c794e 100644
--- a/src/confighandler/view/FieldView.py
+++ b/src/confighandler/view/FieldView.py
@@ -5,19 +5,19 @@ Created: 2023-10-19 12:35
 Package Version: 0.0.1
 Description:
 """
-
-
+from typing import TypeVar
 
 from PySide6.QtCore import Signal
 from PySide6.QtWidgets import QWidget, QTreeWidgetItem, QMessageBox
 
-import confighandler.controller.Field as Field
+import confighandler
+#import confighandler.controller.Field as Field
 
 
 class FieldView(QWidget):
-    value_changed = Signal(Field.T)
+    value_changed = Signal(confighandler.T)
 
-    def __init__(self, parent_field):
+    def __init__(self, parent_field: confighandler.Field):
         super().__init__()
 
         self.parent_field = parent_field
@@ -29,7 +29,7 @@ class FieldView(QWidget):
         self.value_changed.connect(self._on_value_changed)
         #self.setToolTip(parent_field._description)
 
-        if isinstance(Field.T, str):
+        if isinstance(confighandler.T, str):
             print(">>> String")
 
     def _on_value_changed(self, value):
@@ -63,7 +63,7 @@ class FieldView(QWidget):
     def ui_tree_widget_item(self):
         """Returns a QItem for the QTreeView"""
         item = self.ui_field()
-        tree_view_item = QTreeWidgetItem([self.parent_field.name, None, self.parent_field.description])
+        tree_view_item = QTreeWidgetItem([self.parent_field.field_name, None, self.parent_field.description, self.parent_field.name])
         # tree_view_item = QTreeWidgetItem([self.ui_field()])
         self.tree_items.append(tree_view_item)
         # tree_view_item.set