diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/App.xaml.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/App.xaml.cs
index c4a739ac4eacbd77a78c12835a50f063e415a10a..71164530543bbfdae2f42882600f2a76f380158e 100644
--- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/App.xaml.cs
+++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/App.xaml.cs
@@ -1,4 +1,6 @@
-using System.Configuration;
+using InnoLabProjektDektopApp.Services;
+using InnoLabProjektDektopApp.Utils;
+using System.Configuration;
 using System.Data;
 using System.Windows;
 
@@ -9,6 +11,32 @@ namespace InnoLabProjektDektopApp
     /// </summary>
     public partial class App : Application
     {
+        private readonly NotifyIconManager _notifyIcon = new();
+        private static ProcessMonitor _processMonitor = new();
+
+        internal static ProcessMonitor GetProcessMonitor()
+        {
+            return _processMonitor;
+        }
+
+        public App()
+        {
+
+        }
+        
+
+        protected override void OnStartup(StartupEventArgs e)
+        {
+            _notifyIcon.Initialize();
+            base.OnStartup(e);
+        }
+
+        protected override void OnExit(ExitEventArgs e)
+        {
+            _notifyIcon.Dispose();
+            base.OnExit(e);
+        }
+
     }
 
 }
diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/end.png b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/end.png
new file mode 100644
index 0000000000000000000000000000000000000000..d474536f30b680927718424c5f2a1d0d3c1ccd84
Binary files /dev/null and b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/end.png differ
diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/pause.png b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/pause.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4d8de1c99759bb7fe97ee7c69ed0c709950ef02
Binary files /dev/null and b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/pause.png differ
diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/skip.png b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/skip.png
new file mode 100644
index 0000000000000000000000000000000000000000..8008a3bf5f57d0d46ac19a70efcc243cdc2c4967
Binary files /dev/null and b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/skip.png differ
diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/start.png b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/start.png
new file mode 100644
index 0000000000000000000000000000000000000000..abda107909a20c2245dcd84c6b6e138357e5b7c2
Binary files /dev/null and b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Assets/start.png differ
diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/InnoLabProjektDektopApp.csproj b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/InnoLabProjektDektopApp.csproj
index 63aa5dd38b2c763d2c4e6efcdc8e30556899c1b0..1d636e349712e5c75a3b6279d83e9000b5f045ca 100644
--- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/InnoLabProjektDektopApp.csproj
+++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/InnoLabProjektDektopApp.csproj
@@ -17,17 +17,21 @@
     <None Remove="Assets\blockedProcesses.json" />
     <None Remove="Assets\distractingPrograms.json" />
     <None Remove="Assets\distractingWebsites.json" />
+    <None Remove="Assets\end.png" />
     <None Remove="Assets\gamesicon.png" />
     <None Remove="Assets\icon.ico" />
     <None Remove="Assets\logo.png" />
     <None Remove="Assets\otherwebsitesicon.png" />
+    <None Remove="Assets\pause.png" />
     <None Remove="Assets\pencilicon.png" />
     <None Remove="Assets\pornicon.png" />
     <None Remove="Assets\profileicon.png" />
     <None Remove="Assets\programsicon.png" />
     <None Remove="Assets\settings.json" />
     <None Remove="Assets\shoppingicon.png" />
+    <None Remove="Assets\skip.png" />
     <None Remove="Assets\socialmediaicon.png" />
+    <None Remove="Assets\start.png" />
     <None Remove="Screens\FirstLaunch\Mascott_InnoLab.jpg" />
   </ItemGroup>
 
@@ -48,8 +52,9 @@
   </ItemGroup>
 
   <ItemGroup>
+    <PackageReference Include="Hardcodet.NotifyIcon.Wpf" Version="2.0.1" />
     <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
-    <PackageReference Include="System.Management" Version="9.0.0" />
+    <PackageReference Include="System.Management" Version="9.0.1" />
   </ItemGroup>
 
   <ItemGroup>
@@ -62,9 +67,15 @@
     <Content Include="Assets\distractingWebsites.json">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
+    <Content Include="Assets\end.png">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <Content Include="Assets\gamesicon.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
+    <Content Include="Assets\pause.png">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <Content Include="Assets\pencilicon.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
@@ -83,12 +94,18 @@
     <Content Include="Assets\shoppingicon.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
+    <Content Include="Assets\skip.png">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <Content Include="Assets\socialmediaicon.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
-    <Resource Include="Assets\icon.ico">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Resource>
+    <Content Include="Assets\icon.ico">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Assets\start.png">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <Resource Include="Assets\logo.png" />
     <Content Include="Assets\otherwebsitesicon.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Services/ProcessMonitor.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Services/ProcessMonitor.cs
index 026c3552064ba79686b435dc97bc727428e816ca..23cc27e6b5f5f23f05bd09c2ca83103647bb02cd 100644
--- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Services/ProcessMonitor.cs
+++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Services/ProcessMonitor.cs
@@ -13,23 +13,38 @@ namespace InnoLabProjektDektopApp.Services
         public DateTime EndTime { get; set; } = endTime;
     }
 
+    public class BreakInfo(DateTime startTime, DateTime endTime)
+    {
+        public DateTime StartTime { get; set; } = startTime;
+        public DateTime EndTime { get; set; } = endTime;
+    }
+
 
     class ProcessMonitor
     {
-        private readonly Dictionary<string, DateTime> processStartTimes = new Dictionary<string, DateTime>();
-        private static List<string> blockedProcesses = new List<string>();
-        private bool isMonitoring = false;
-        private readonly List<ProcessInfo> processInfoList = new List<ProcessInfo>();
+        private static List<string> blockedProcesses = [];
+
+        private readonly Dictionary<string, DateTime> processStartTimes = [];
+        private readonly List<ProcessInfo> processInfoList = [];
+        public bool isMonitoring = false;
         private DateTime startTime;
 
+        private readonly List<BreakInfo> breakInfoList = [];
+        public bool IsBreak { get; private set;}
+        private DateTime breakStartTime;
+
         public ProcessMonitor()
         {
+            IsBreak = false;
             blockedProcesses = LoadBlockedProcesses();
-            
         }
 
         public async void StartMonitoring()
         {
+            if (isMonitoring || IsBreak)
+            {
+                return;
+            }
             startTime = DateTime.Now;
             Debug.WriteLine("Started Process Monitoring");
             var query = new WqlEventQuery("__InstanceCreationEvent", new TimeSpan(0, 0, 1),
@@ -37,26 +52,100 @@ namespace InnoLabProjektDektopApp.Services
             var watcher = new ManagementEventWatcher { Query = query };
 
             isMonitoring = true;
+
+            // check if any distracting processes are already running
+            var processes = GetRunningProcessList();
+            foreach (var process in processes)
+            {
+                if (IsProcessOnBlockedList(process.Key))
+                {
+                    var result = MessageBox.Show($"Are you sure you want to get distracted by {process.Key}?", "Distracting Process Detected",
+                    MessageBoxButton.YesNo,
+                    MessageBoxImage.Question,
+                    MessageBoxResult.No,
+                    MessageBoxOptions.DefaultDesktopOnly
+                    );
+                    if (result == MessageBoxResult.No)
+                    {
+                        KillProcessesByName(process.Key);
+                    }
+                    else
+                    {
+                        TrackProcess(process.Key, DateTime.Now);
+                    }
+                }
+            }
+
             await Task.Run(() =>
             {
                 while (isMonitoring)
                 {
                     // this wait is here to prevent another event from being triggered before the previous one is handled
-                    var e = watcher.WaitForNextEvent();
-                    Task.Run(() => HandleNewProcess(e));
-                    Task.Delay(100).Wait();
+                    var task = Task.Run(() => watcher.WaitForNextEvent());
+                    if (Task.WaitAny(task, Task.Delay(100)) == 0)
+                    {
+                        if (!isMonitoring) break;
+                        Task.Run(() => HandleNewProcess(task.Result));
+                    }
                 }
             });
         }
 
         public void StopMonitoring()
         {
+            if (!isMonitoring)
+            {
+                return;
+            }
             Debug.WriteLine("Stopping Process Monitoring");
             CalculateCurrentDistractionStage(DateTime.Now);
             isMonitoring = false;
         }
 
-        public void CalculateCurrentDistractionStage(DateTime endTime)
+        public void StartBreak()
+        {
+            if (IsBreak)
+            {
+                return;
+            }
+            IsBreak = true;
+            breakStartTime = DateTime.Now;
+            StopMonitoring();
+        }
+
+        public void EndBreak()
+        {
+            if (!IsBreak)
+            {
+                return;
+            }
+            breakInfoList.Add(new BreakInfo(breakStartTime, DateTime.Now));
+            IsBreak = false;
+            StartMonitoring();
+        }
+
+        public void FinishSession()
+        {
+            StopMonitoring();
+            EndBreak();
+
+            // save the processInfoList and breakInfoList to a file
+            var processInfoListFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Assets\\processInfoList.json");
+            var processInfoListJson = JsonConvert.SerializeObject(processInfoList);
+            File.WriteAllText(processInfoListFilePath, processInfoListJson);
+
+            var breakInfoListFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Assets\\breakInfoList.json");
+            var breakInfoListJson = JsonConvert.SerializeObject(breakInfoList);
+            File.WriteAllText(breakInfoListFilePath, breakInfoListJson);
+
+            // reset the processInfoList and breakInfoList
+            processInfoList.Clear();
+            breakInfoList.Clear();
+            processStartTimes.Clear();
+
+        }
+
+        public int CalculateCurrentDistractionStage(DateTime endTime)
         {
             
             TimeSpan totalDistractionTime = CalculateTotalDistractionTime();
@@ -69,6 +158,7 @@ namespace InnoLabProjektDektopApp.Services
             double distractionFraction = (distractedMinutes / totalMinutes);
             int stage = (int)Math.Ceiling(distractionFraction * 7);
             Debug.WriteLine($"Distraction stage: {stage}");
+            return stage;
         }
 
 
@@ -231,19 +321,59 @@ namespace InnoLabProjektDektopApp.Services
 
             var mergedIntervals = new List<(DateTime Start, DateTime End)> { intervals[0] };
 
+            // Iterate through the intervals, starting from the second one
             foreach (var interval in intervals.Skip(1))
             {
                 var last = mergedIntervals.Last();
+                // If the current interval overlaps with the last merged interval, merge them
                 if (interval.StartTime <= last.End)
                 {
                     mergedIntervals[^1] = (last.Start, new DateTime(Math.Max(last.End.Ticks, interval.EndTime.Ticks)));
                 }
                 else
                 {
+                    // Otherwise, add the current interval as a new merged interval
                     mergedIntervals.Add(interval);
                 }
             }
 
+            // Remove overlaps with breaks
+            foreach (var breakInfo in breakInfoList)
+            {
+                mergedIntervals = mergedIntervals.SelectMany(interval =>
+                {
+                    // If the interval ends before the break starts or starts after the break ends, keep the interval as is
+                    if (interval.End <= breakInfo.StartTime || interval.Start >= breakInfo.EndTime)
+                    {
+                        return [interval];
+                    }
+                    // If the interval starts before the break and ends after the break, split the interval into two
+                    else if (interval.Start < breakInfo.StartTime && interval.End > breakInfo.EndTime)
+                    {
+                        return
+                        [
+                            (interval.Start, breakInfo.StartTime),
+                            (breakInfo.EndTime, interval.End)
+                        ];
+                    }
+                    // If the interval starts before the break and ends during the break, adjust the end time to the start of the break
+                    else if (interval.Start < breakInfo.StartTime)
+                    {
+                        return new List<(DateTime Start, DateTime End)> { (interval.Start, breakInfo.StartTime) };
+                    }
+                    // If the interval starts during the break and ends after the break, adjust the start time to the end of the break
+                    else if (interval.End > breakInfo.EndTime)
+                    {
+                        return [(breakInfo.EndTime, interval.End)];
+                    }
+                    // If the interval is completely within the break, remove the interval
+                    else
+                    {
+                        return [];
+                    }
+                }).ToList();
+            }
+
             return mergedIntervals.Aggregate(TimeSpan.Zero, (sum, interval) => sum + (interval.End - interval.Start));
         }
 
diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Utils/NotifyIconManager.cs b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Utils/NotifyIconManager.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dc6b7a155a3e0e2f36a0d3c87cde9d3b05663363
--- /dev/null
+++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/Utils/NotifyIconManager.cs
@@ -0,0 +1,198 @@
+using InnoLabProjektDektopApp.Services;
+using System;
+using Drawing = System.Drawing;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Threading;
+using Forms = System.Windows.Forms;
+using System.Windows.Media;
+using System.Windows.Navigation;
+using System.IO;
+using static System.Runtime.InteropServices.JavaScript.JSType;
+using System.Net.Http.Json;
+using System.Text.Json;
+
+namespace InnoLabProjektDektopApp.Utils
+{
+    internal class NotifyIconManager
+    {
+        private readonly Forms.NotifyIcon _notifyIcon = new();
+        private readonly ProcessMonitor _processMonitor = App.GetProcessMonitor();
+        private DispatcherTimer _countdownTimer;
+        private TimeSpan _countdownTime;
+        private Forms.ToolStripLabel _countdownLabel; // Reference to the countdown label
+        private class Settings
+        {
+            public int focusPeriod { get; set; }
+            public int breakPeriod { get; set; }
+            public int cycles { get; set; }
+            public string distractionMode { get; set; }
+            public string mascotVisible { get; set; }
+            public bool wordsOfAffirmation { get; set; }
+            public bool insultingWords { get; set; }
+        }
+        private Settings _settings = new();
+
+        public void Initialize()
+        {
+            _notifyIcon.Icon = new Drawing.Icon("Assets/icon.ico");
+            _notifyIcon.Text = "CoFlow";
+            _notifyIcon.Visible = true;
+            _notifyIcon.ContextMenuStrip = new Forms.ContextMenuStrip();
+            _notifyIcon.MouseClick += NotifyIcon_MouseClick;
+
+            // Initialize the countdown timer
+            _countdownTimer = new DispatcherTimer();
+            _countdownTimer.Interval = TimeSpan.FromSeconds(1);
+            _countdownTimer.Tick += CountdownTimer_Tick;
+
+            RerenderContextMenu();
+        }
+
+        public void Dispose()
+        {
+            _notifyIcon.Dispose();
+            _countdownTimer.Stop();
+        }
+
+        private void RerenderContextMenu(bool showContextMenu = false)
+        {
+            _notifyIcon.ContextMenuStrip.Items.Clear();
+            LoadSettings();
+
+            if (_processMonitor.isMonitoring || _processMonitor.IsBreak)
+            {
+                _notifyIcon.ContextMenuStrip.Items.Add(new Forms.ToolStripLabel($"Focussession 1/{_settings.cycles}", null, false));
+                // Add the countdown label (initialize it if it doesn't exist)
+                _countdownLabel = new Forms.ToolStripLabel($"Countdown: {_countdownTime:mm\\:ss}");
+                _notifyIcon.ContextMenuStrip.Items.Add(_countdownLabel);
+                if (!_processMonitor.IsBreak)
+                {
+                    _notifyIcon.ContextMenuStrip.Items.Add("Take a Break", Drawing.Image.FromFile("Assets/pause.png"), (sender, args) =>
+                    {
+                        _countdownTimer.Stop();
+                        _processMonitor.StartBreak();
+                        RerenderContextMenu(true);
+                    });
+                }
+                if (_processMonitor.IsBreak)
+                {
+                    _notifyIcon.ContextMenuStrip.Items.Add("Skip Break", Drawing.Image.FromFile("Assets/skip.png"), (sender, args) =>
+                    {
+                        _countdownTimer.Start();
+                        _processMonitor.EndBreak();
+                        RerenderContextMenu(true);
+                    });
+                }
+                _notifyIcon.ContextMenuStrip.Items.Add("End Session", Drawing.Image.FromFile("Assets/end.png"), (sender, args) =>
+                {
+                    _processMonitor.StopMonitoring();
+                    StopCountdown();
+                    Window mainWindow = Application.Current.MainWindow;
+                    NavigationService mainNavigation = ((System.Windows.Navigation.NavigationWindow)mainWindow).NavigationService;
+                    mainNavigation.Navigate(new Overview());
+                    RerenderContextMenu(true);
+                });
+            }
+            else
+            {
+                _notifyIcon.ContextMenuStrip.Items.Add(new Forms.ToolStripLabel("Current Settings:", null, false));
+                _notifyIcon.ContextMenuStrip.Items.Add(new Forms.ToolStripLabel(
+                    $"Focus Duration: {_settings.focusPeriod} min | Break Duration: {_settings.breakPeriod} min | Cycles: {_settings.cycles}", null, false));
+                _notifyIcon.ContextMenuStrip.Items.Add("Start Session", Drawing.Image.FromFile("Assets/start.png"), (sender, args) =>
+                {
+                    _processMonitor.StartMonitoring();
+                    StartCountdown(TimeSpan.FromMinutes(_settings.focusPeriod));
+                    RerenderContextMenu(true);
+                    Window mainWindow = Application.Current.MainWindow;
+                    NavigationService mainNavigation = ((System.Windows.Navigation.NavigationWindow)mainWindow).NavigationService;
+                    mainNavigation.Navigate(
+                        new Session(_settings.focusPeriod, 
+                                    _settings.breakPeriod, 
+                                    _settings.cycles, 
+                                    _settings.distractionMode, 
+                                    _settings.mascotVisible, 
+                                    _settings.wordsOfAffirmation, 
+                                    _settings.insultingWords));
+                });
+            }
+
+
+            // Reopen the context menu if requested
+            if (showContextMenu)
+            {
+                _notifyIcon.ContextMenuStrip.Show();
+            }
+        }
+
+        private void NotifyIcon_MouseClick(object sender, Forms.MouseEventArgs e)
+        {
+            if (e.Button == Forms.MouseButtons.Left)
+            {
+                Window mainWindow = Application.Current.MainWindow;
+                mainWindow.WindowState = WindowState.Normal;
+                mainWindow.Activate();
+                NavigationService mainNavigation = ((System.Windows.Navigation.NavigationWindow)mainWindow).NavigationService;
+                if (!_processMonitor.isMonitoring && !_processMonitor.IsBreak)
+                {
+                    mainNavigation.Navigate(new Overview());
+                }
+            }
+        }
+
+        private void StartCountdown(TimeSpan duration)
+        {
+            _countdownTime = duration;
+            _countdownTimer.Start();
+        }
+
+        private void StopCountdown()
+        {
+            _countdownTimer.Stop();
+            _countdownTime = TimeSpan.Zero;
+            UpdateCountdownLabel(); // Update the label to show 00:00
+        }
+
+        private void CountdownTimer_Tick(object sender, EventArgs e)
+        {
+            if (_countdownTime > TimeSpan.Zero)
+            {
+                _countdownTime = _countdownTime.Subtract(TimeSpan.FromSeconds(1));
+                UpdateCountdownLabel(); // Update only the countdown label
+            }
+            else
+            {
+                _countdownTimer.Stop();
+            }
+        }
+
+        private void UpdateCountdownLabel()
+        {
+            if (_countdownLabel != null)
+            {
+                _countdownLabel.Text = $"Countdown: {_countdownTime:mm\\:ss}";
+            }
+        }
+
+        private void LoadSettings()
+        {
+            string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "settings.json");
+            if (File.Exists(path))
+            {
+                string jsonContent = File.ReadAllText(path);
+                var settings = JsonSerializer.Deserialize<Dictionary<string, JsonElement>>(jsonContent);
+                if (settings != null && settings.TryGetValue("profile1", out JsonElement profileSettings))
+                {
+                    _settings.focusPeriod = int.Parse(profileSettings.GetProperty("focusPeriod").GetString().Replace(" minutes", ""));
+                    _settings.breakPeriod = int.Parse(profileSettings.GetProperty("breakPeriod").GetString().Replace(" minutes", ""));
+                    _settings.cycles = int.Parse(profileSettings.GetProperty("cycles").GetString() ?? "1");
+                    _settings.distractionMode = profileSettings.GetProperty("distractionMode").GetString() ?? "default";
+                    _settings.mascotVisible = profileSettings.GetProperty("mascotVisibility").GetString() ?? "yes";
+                    _settings.wordsOfAffirmation = bool.Parse(profileSettings.GetProperty("wordsOfAffirmation").GetString() ?? "true");
+                    _settings.insultingWords = bool.Parse(profileSettings.GetProperty("insultingWords").GetString() ?? "false");
+                }
+            }
+        }
+
+    }
+}
\ No newline at end of file
diff --git a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/project.assets.json b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/project.assets.json
index 5c0a935ed696a92f7a39566c80f67cbb3913453d..1d3f3fad55aa85d1539c503dedb9195f0e40267f 100644
--- a/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/project.assets.json
+++ b/InnoLabProjektDektopApp/InnoLabProjektDektopApp/obj/project.assets.json
@@ -2,6 +2,22 @@
   "version": 3,
   "targets": {
     "net8.0-windows7.0": {
+      "Hardcodet.NotifyIcon.Wpf/2.0.1": {
+        "type": "package",
+        "compile": {
+          "lib/net8.0-windows7.0/Hardcodet.NotifyIcon.Wpf.dll": {
+            "related": ".xml"
+          }
+        },
+        "runtime": {
+          "lib/net8.0-windows7.0/Hardcodet.NotifyIcon.Wpf.dll": {
+            "related": ".xml"
+          }
+        },
+        "frameworkReferences": [
+          "Microsoft.WindowsDesktop.App"
+        ]
+      },
       "Newtonsoft.Json/13.0.3": {
         "type": "package",
         "compile": {
@@ -15,7 +31,7 @@
           }
         }
       },
-      "System.CodeDom/9.0.0": {
+      "System.CodeDom/9.0.1": {
         "type": "package",
         "compile": {
           "lib/net8.0/System.CodeDom.dll": {
@@ -31,10 +47,10 @@
           "buildTransitive/net8.0/_._": {}
         }
       },
-      "System.Management/9.0.0": {
+      "System.Management/9.0.1": {
         "type": "package",
         "dependencies": {
-          "System.CodeDom": "9.0.0"
+          "System.CodeDom": "9.0.1"
         },
         "compile": {
           "lib/net8.0/System.Management.dll": {
@@ -59,6 +75,27 @@
     }
   },
   "libraries": {
+    "Hardcodet.NotifyIcon.Wpf/2.0.1": {
+      "sha512": "dtxmeZXzV2GzSm91aZ3hqzgoeVoARSkDPVCYfhVUNyyKBWYxMgNC0EcLiSYxD4Uc4alq/2qb3SmV8DgAENLRLQ==",
+      "type": "package",
+      "path": "hardcodet.notifyicon.wpf/2.0.1",
+      "files": [
+        ".nupkg.metadata",
+        ".signature.p7s",
+        "LICENSE",
+        "hardcodet.notifyicon.wpf.2.0.1.nupkg.sha512",
+        "hardcodet.notifyicon.wpf.nuspec",
+        "icon.png",
+        "lib/net462/Hardcodet.NotifyIcon.Wpf.dll",
+        "lib/net462/Hardcodet.NotifyIcon.Wpf.xml",
+        "lib/net472/Hardcodet.NotifyIcon.Wpf.dll",
+        "lib/net472/Hardcodet.NotifyIcon.Wpf.xml",
+        "lib/net6.0-windows7.0/Hardcodet.NotifyIcon.Wpf.dll",
+        "lib/net6.0-windows7.0/Hardcodet.NotifyIcon.Wpf.xml",
+        "lib/net8.0-windows7.0/Hardcodet.NotifyIcon.Wpf.dll",
+        "lib/net8.0-windows7.0/Hardcodet.NotifyIcon.Wpf.xml"
+      ]
+    },
     "Newtonsoft.Json/13.0.3": {
       "sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
       "type": "package",
@@ -89,10 +126,10 @@
         "packageIcon.png"
       ]
     },
-    "System.CodeDom/9.0.0": {
-      "sha512": "oTE5IfuMoET8yaZP/vdvy9xO47guAv/rOhe4DODuFBN3ySprcQOlXqO3j+e/H/YpKKR5sglrxRaZ2HYOhNJrqA==",
+    "System.CodeDom/9.0.1": {
+      "sha512": "2J5uq+2smnj+u1jlyVJ6BGGqaK9fHcK/EwN7mbsuPqTI6dZr86br8Cg6o/5B+icQ9ANTvTDpJjnhDNtYYZijHQ==",
       "type": "package",
-      "path": "system.codedom/9.0.0",
+      "path": "system.codedom/9.0.1",
       "files": [
         ".nupkg.metadata",
         ".signature.p7s",
@@ -112,15 +149,15 @@
         "lib/net9.0/System.CodeDom.xml",
         "lib/netstandard2.0/System.CodeDom.dll",
         "lib/netstandard2.0/System.CodeDom.xml",
-        "system.codedom.9.0.0.nupkg.sha512",
+        "system.codedom.9.0.1.nupkg.sha512",
         "system.codedom.nuspec",
         "useSharedDesignerContext.txt"
       ]
     },
-    "System.Management/9.0.0": {
-      "sha512": "bVh4xAMI5grY5GZoklKcMBLirhC8Lqzp63Ft3zXJacwGAlLyFdF4k0qz4pnKIlO6HyL2Z4zqmHm9UkzEo6FFsA==",
+    "System.Management/9.0.1": {
+      "sha512": "CLEo9O6FuO4GQ3ZQkGssg9CJ2w2TN7GMFf3wHTc7YVWJV4xoyJRPw+XIDQnCcSUJCrHhrAWOO60cAX29EV5LFQ==",
       "type": "package",
-      "path": "system.management/9.0.0",
+      "path": "system.management/9.0.1",
       "files": [
         ".nupkg.metadata",
         ".signature.p7s",
@@ -141,7 +178,7 @@
         "runtimes/win/lib/net8.0/System.Management.xml",
         "runtimes/win/lib/net9.0/System.Management.dll",
         "runtimes/win/lib/net9.0/System.Management.xml",
-        "system.management.9.0.0.nupkg.sha512",
+        "system.management.9.0.1.nupkg.sha512",
         "system.management.nuspec",
         "useSharedDesignerContext.txt"
       ]
@@ -149,24 +186,30 @@
   },
   "projectFileDependencyGroups": {
     "net8.0-windows7.0": [
+      "Hardcodet.NotifyIcon.Wpf >= 2.0.1",
       "Newtonsoft.Json >= 13.0.3",
-      "System.Management >= 9.0.0"
+      "System.Management >= 9.0.1"
     ]
   },
   "packageFolders": {
-    "C:\\Users\\Sandra\\.nuget\\packages\\": {}
+    "C:\\Users\\Phil\\.nuget\\packages\\": {},
+    "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
   },
   "project": {
     "version": "1.0.0",
     "restore": {
-      "projectUniqueName": "D:\\Studium\\7. Semester\\InnoLab\\CoFlowCURRENT\\CoFlow\\InnoLabProjektDektopApp\\InnoLabProjektDektopApp\\InnoLabProjektDektopApp.csproj",
+      "projectUniqueName": "C:\\Users\\Phil\\Source\\Repos\\CoFlow\\InnoLabProjektDektopApp\\InnoLabProjektDektopApp\\InnoLabProjektDektopApp.csproj",
       "projectName": "CoFlow",
-      "projectPath": "D:\\Studium\\7. Semester\\InnoLab\\CoFlowCURRENT\\CoFlow\\InnoLabProjektDektopApp\\InnoLabProjektDektopApp\\InnoLabProjektDektopApp.csproj",
-      "packagesPath": "C:\\Users\\Sandra\\.nuget\\packages\\",
-      "outputPath": "D:\\Studium\\7. Semester\\InnoLab\\CoFlowCURRENT\\CoFlow\\InnoLabProjektDektopApp\\InnoLabProjektDektopApp\\obj\\",
+      "projectPath": "C:\\Users\\Phil\\Source\\Repos\\CoFlow\\InnoLabProjektDektopApp\\InnoLabProjektDektopApp\\InnoLabProjektDektopApp.csproj",
+      "packagesPath": "C:\\Users\\Phil\\.nuget\\packages\\",
+      "outputPath": "C:\\Users\\Phil\\Source\\Repos\\CoFlow\\InnoLabProjektDektopApp\\InnoLabProjektDektopApp\\obj\\",
       "projectStyle": "PackageReference",
+      "fallbackFolders": [
+        "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+      ],
       "configFilePaths": [
-        "C:\\Users\\Sandra\\AppData\\Roaming\\NuGet\\NuGet.Config",
+        "C:\\Users\\Phil\\AppData\\Roaming\\NuGet\\NuGet.Config",
+        "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
         "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
       ],
       "originalTargetFrameworks": [
@@ -191,19 +234,24 @@
         "enableAudit": "true",
         "auditLevel": "low",
         "auditMode": "direct"
-      }
+      },
+      "SdkAnalysisLevel": "9.0.100"
     },
     "frameworks": {
       "net8.0-windows7.0": {
         "targetAlias": "net8.0-windows",
         "dependencies": {
+          "Hardcodet.NotifyIcon.Wpf": {
+            "target": "Package",
+            "version": "[2.0.1, )"
+          },
           "Newtonsoft.Json": {
             "target": "Package",
             "version": "[13.0.3, )"
           },
           "System.Management": {
             "target": "Package",
-            "version": "[9.0.0, )"
+            "version": "[9.0.1, )"
           }
         },
         "imports": [
@@ -225,7 +273,7 @@
             "privateAssets": "none"
           }
         },
-        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"
+        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.103/PortableRuntimeIdentifierGraph.json"
       }
     }
   }