diff --git a/fixtracks/widgets/skeleton.py b/fixtracks/widgets/skeleton.py
index 37140ce..e2fd2bb 100644
--- a/fixtracks/widgets/skeleton.py
+++ b/fixtracks/widgets/skeleton.py
@@ -1,11 +1,12 @@
 import logging
 import numpy as np
 
-from PySide6.QtWidgets import QWidget, QVBoxLayout, QSizePolicy, QGraphicsView, QSlider, QPushButton
+from PySide6.QtWidgets import QWidget, QVBoxLayout, QSizePolicy, QGraphicsView, QSlider, QPushButton, QLabel
 from PySide6.QtWidgets import QGraphicsScene, QGraphicsEllipseItem, QGraphicsRectItem, QGraphicsLineItem
 from PySide6.QtCore import Qt
-from PySide6.QtGui import QBrush, QColor, QPen, QPainter
+from PySide6.QtGui import QBrush, QColor, QPen, QPainter, QFont
 
+from fixtracks.widgets.detectionview import DetectionData
 
 class Skeleton(QGraphicsRectItem):
     skeleton_grid = [(0, 1), (1, 2), (1, 3), (1, 4), (2, 5)]
@@ -63,8 +64,14 @@ class SkeletonWidget(QWidget):
         self._view.setMouseTracking(True)
         self._view.setScene(self._scene)
 
+        font = QFont()
+        font.setPointSize(9)
+        self._info_label = QLabel("")
+        self._info_label.setFont(font)
+        
         lyt = QVBoxLayout()
         lyt.addWidget(self._view)
+        lyt.addWidget(self._info_label)
         lyt.addWidget(self._slider)
         self.setLayout(lyt)
 
@@ -72,6 +79,13 @@ class SkeletonWidget(QWidget):
         self._scene.changed.connect(lambda: self._view.fitInView(self._scene.sceneRect(),
                                                                  Qt.AspectRatioMode.KeepAspectRatio))
 
+    def updateInfo(self, index):
+        if index > -1:
+            s = self._skeletons[index]
+            self._info_label.setText(f"Detection id {s.data(DetectionData.ID.value)}, track {s.data(DetectionData.TRACK_ID.value)} on frame {s.data(DetectionData.FRAME.value)}")
+        else:
+            self._info_label.setText("")
+
     def clear(self):
         for i in range(len(self._skeletons)):
             item = self._skeletons.pop()
@@ -80,6 +94,7 @@ class SkeletonWidget(QWidget):
             del item
         self._skeletons = []
         self.update()
+        self.updateInfo(-1)
 
     def on_sliderMoved(self):
         if self._current_skeleton is not None and self._current_skeleton.scene() == self._scene:
@@ -87,12 +102,14 @@ class SkeletonWidget(QWidget):
         if self._slider.value() < len(self._skeletons):
             self._current_skeleton = self._skeletons[self._slider.value()]
             self._scene.addItem(self._current_skeleton)
+            self.updateInfo(self._slider.value())
 
     def update(self):
         logging.debug("SkeletonWidget: update")
         if len(self._skeletons) > 0:
             self._scene.addItem(self._skeletons[-1])
             self._current_skeleton = self._skeletons[-1]
+            self.updateInfo(len(self._skeletons)-1)
         self._slider.setMaximum(len(self._skeletons))
         self._slider.setMinimum(0)
         self._slider.setValue(len(self._skeletons))
@@ -100,7 +117,7 @@ class SkeletonWidget(QWidget):
         self._scene.setSceneRect(self._minx, self._miny, self._maxx - self._minx, self._maxy - self._miny)
         self._view.fitInView(self._scene.sceneRect(), Qt.AspectRatioMode.KeepAspectRatio)
 
-    def addSkeleton(self, coords, detection_id, brush, update=True):
+    def addSkeleton(self, coords, detection_id, frame, track, brush, update=True):
         def check_extent(x, y, w, h):
             if len(self._skeletons) == 0:
                 self._minx = x
@@ -123,16 +140,25 @@ class SkeletonWidget(QWidget):
         boxh = np.max(coords[:, 1]) - boxy
         check_extent(boxx, boxy, boxw, boxh)
         item = Skeleton(boxx, boxy, boxw, boxh, coords, brush)
-        item.setData(0, detection_id)
+        item.setData(DetectionData.ID.value, detection_id)
+        item.setData(DetectionData.TRACK_ID.value, track)
+        item.setData(DetectionData.FRAME.value, frame)
         self._skeletons.append(item)
         if update:
             self.update()
 
-    def addSkeletons(self, coordinates:np.ndarray, detection_ids:np.ndarray, brush:QBrush):
+    def addSkeletons(self, coordinates:np.ndarray, detection_ids:np.ndarray,
+                     frames:np.ndarray, tracks:np.ndarray, brush:QBrush):
         num_detections = 0 if coordinates is None else coordinates.shape[0]
         logging.debug("SkeletonWidget: add %i Skeletons", num_detections)
+        sorting = np.argsort(frames)
+        coordinates = coordinates[sorting,:, :]
+        detection_ids = detection_ids[sorting]
+        frames = frames[sorting]
+        tracks = tracks[sorting]
         for i in range(num_detections):
-            self.addSkeleton(coordinates[i,:,:], detection_ids[i], brush=brush, update=False)
+            self.addSkeleton(coordinates[i,:,:], detection_ids[i], frames[i],
+                             tracks[i], brush=brush, update=False)
         self.update()
 
     # def addSkeleton(self, coords, detection_id, brush):
diff --git a/fixtracks/widgets/tracks.py b/fixtracks/widgets/tracks.py
index 66f78ce..feb798f 100644
--- a/fixtracks/widgets/tracks.py
+++ b/fixtracks/widgets/tracks.py
@@ -320,6 +320,14 @@ class FixTracks(QWidget):
         }
         self._detectionView = DetectionView()
         self._detectionView.signals.itemsSelected.connect(self.on_detectionsSelected)
+        self._skeleton = SkeletonWidget()
+        # self._skeleton.setMaximumSize(QSize(400, 400))
+        top_splitter = QSplitter(Qt.Orientation.Horizontal)
+        top_splitter.addWidget(self._detectionView)
+        top_splitter.addWidget(self._skeleton)
+        top_splitter.setStretchFactor(0, 2)
+        top_splitter.setStretchFactor(1, 1)
+
         self._progress_bar = QProgressBar(self)
         self._progress_bar.setMaximumHeight(20)
         self._progress_bar.setValue(0)
@@ -353,9 +361,6 @@ class FixTracks(QWidget):
         self._controls_widget.fwd.connect(self.on_forward)
         self._controls_widget.back.connect(self.on_backward)
 
-        self._skeleton = SkeletonWidget()
-        # self._skeleton.setMaximumSize(QSize(400, 400))
-
         self._saveBtn = QPushButton("Save")
         self._saveBtn.setShortcut("Ctrl+S")
         self._saveBtn.setEnabled(False)
@@ -388,8 +393,8 @@ class FixTracks(QWidget):
 
         cntrlBox = QHBoxLayout()
         cntrlBox.addItem(QSpacerItem(200, 100, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Expanding))
-        cntrlBox.addWidget(self._controls_widget)
-        cntrlBox.addWidget(self._skeleton)
+        cntrlBox.addWidget(self._controls_widget, alignment=Qt.AlignmentFlag.AlignCenter)
+
         vbox = QVBoxLayout()
         vbox.addLayout(timelinebox)
         vbox.addLayout(cntrlBox)
@@ -398,7 +403,7 @@ class FixTracks(QWidget):
         container.setLayout(vbox)
 
         splitter = QSplitter(Qt.Orientation.Vertical)
-        splitter.addWidget(self._detectionView)
+        splitter.addWidget(top_splitter)
         splitter.addWidget(container)
         splitter.setStretchFactor(0, 3)
         splitter.setStretchFactor(1, 1)
@@ -586,7 +591,7 @@ class FixTracks(QWidget):
         self._data.setUserSelection(ids)
         self._controls_widget.setSelectedTracks(tracks)
         self._skeleton.clear()
-        self._skeleton.addSkeletons(coordinates, ids, QBrush(QColor(10, 255, 65, 255)))
+        self._skeleton.addSkeletons(coordinates, ids, frames, tracks, QBrush(QColor(10, 255, 65, 255)))
         self.update()
 
     def moveWindow(self, stepsize):