diff --git a/central_widget.py b/central_widget.py
index 613925c..d76c1ad 100644
--- a/central_widget.py
+++ b/central_widget.py
@@ -32,44 +32,55 @@ class CentralWidget(QWidget):
 
 
 class FileView(QWidget):
-    
+    icon_size = QSize(30, 30)
     def __init__(self, parent=None) -> None:
         super().__init__(parent=parent)
         self._file_handler = FileHandler()
-
-        grid = QGridLayout()
-        grid.addWidget(QLabel("FileView"), 0, 0, 1, 3)
-        self.setLayout(grid)
-   
-        self._data_tree = QTreeView()
-        self._data_tree.expanded.connect(self.dataTreeResize)
-        self._data_tree.collapsed.connect(self.dataTreeResize)
-        self._data_tree.setAlternatingRowColors(True)
-        self._data_tree.setUniformRowHeights(True)  # Allows for scrolling optimizations.
-        self._data_tree.setWindowTitle("Simple Tree Model")
-        self._data_tree.setIconSize(QSize(20,20))
-        header = self._data_tree.header()
-        header.setStretchLastSection(False)
-        header.setSectionResizeMode(1, QHeaderView.ResizeToContents)
-        header.setSectionResizeMode(2, QHeaderView.ResizeToContents)
-        header.setSectionResizeMode(0, QHeaderView.Stretch)
-        grid.addWidget(self._data_tree, 2, 0, 2, 3)
         
-        self._mdata_tree = QTreeView()
+        vbox = QVBoxLayout()
+        self.setLayout(vbox)
+        splitter = QSplitter(Qt.Vertical)
+        
+        self._mdata_tree = QTreeView(self)
         self._mdata_tree.expanded.connect(self.metadataTreeResize)
         self._mdata_tree.collapsed.connect(self.metadataTreeResize)
-
         self._mdata_tree.setAlternatingRowColors(True)
         self._mdata_tree.setUniformRowHeights(True)  # Allows for scrolling optimizations.
-        self._mdata_tree.setWindowTitle("Simple Tree Model")
-        self._mdata_tree.setIconSize(QSize(20,20))
-        
+        self._mdata_tree.setWindowTitle("Metadata Tree")
+        self._mdata_tree.setIconSize(self.icon_size)
         mheader = self._mdata_tree.header()
         mheader.setStretchLastSection(False)
         mheader.setSectionResizeMode(1, QHeaderView.ResizeToContents)
         mheader.setSectionResizeMode(2, QHeaderView.ResizeToContents)
         mheader.setSectionResizeMode(0, QHeaderView.Stretch)
-        grid.addWidget(self._mdata_tree, 1, 0, 1, 3)
+        
+        mdata_group = QGroupBox("Metadata")
+        mdata_group.setLayout(QVBoxLayout())
+        mdata_group.layout().addWidget(self._mdata_tree)
+       
+        self._data_tree = QTreeView(self)
+        self._data_tree.expanded.connect(self.dataTreeResize)
+        self._data_tree.collapsed.connect(self.dataTreeResize)
+        self._data_tree.setAlternatingRowColors(True)
+        self._data_tree.setUniformRowHeights(True)  # Allows for scrolling optimizations.
+        self._data_tree.setWindowTitle("Data Tree")
+        self._data_tree.setIconSize(self.icon_size)
+        self._data_tree.setSelectionBehavior(QAbstractItemView.SelectItems)
+        self._data_tree.setSelectionMode(QAbstractItemView.SingleSelection)
+        header = self._data_tree.header()
+        header.setStretchLastSection(False)
+        header.setSectionResizeMode(1, QHeaderView.ResizeToContents)
+        header.setSectionResizeMode(2, QHeaderView.ResizeToContents)
+        header.setSectionResizeMode(0, QHeaderView.Stretch)
+
+        data_group = QGroupBox("Data")
+        data_vbox = QVBoxLayout()
+        data_vbox.addWidget(self._data_tree)
+        data_group.setLayout(data_vbox)
+
+        splitter.insertWidget(0, mdata_group)
+        splitter.insertWidget(1, data_group)
+        vbox.addWidget(splitter)
 
     def metadataTreeResize(self, index):
         self._mdata_tree.resizeColumnToContents(index.column())