diff --git a/Cardiopulmonarybypasssystems/EngineeringRegistersWindow.xaml b/Cardiopulmonarybypasssystems/EngineeringRegistersWindow.xaml
new file mode 100644
index 0000000..1d78eaa
--- /dev/null
+++ b/Cardiopulmonarybypasssystems/EngineeringRegistersWindow.xaml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Cardiopulmonarybypasssystems/EngineeringRegistersWindow.xaml.cs b/Cardiopulmonarybypasssystems/EngineeringRegistersWindow.xaml.cs
new file mode 100644
index 0000000..cf06ec3
--- /dev/null
+++ b/Cardiopulmonarybypasssystems/EngineeringRegistersWindow.xaml.cs
@@ -0,0 +1,52 @@
+using System;
+using System.Windows;
+using System.Windows.Input;
+using System.Windows.Threading;
+using Cardiopulmonarybypasssystems.ViewModels;
+
+namespace Cardiopulmonarybypasssystems;
+
+public partial class EngineeringRegistersWindow : Window
+{
+ private readonly DispatcherTimer _closeHoldTimer = new() { Interval = TimeSpan.FromMilliseconds(900) };
+
+ public EngineeringRegistersWindow(MainViewModel viewModel)
+ {
+ InitializeComponent();
+ DataContext = viewModel;
+ Loaded += OnLoaded;
+ _closeHoldTimer.Tick += CloseHoldTimer_OnTick;
+ }
+
+ private void OnLoaded(object sender, RoutedEventArgs e)
+ {
+ if (DataContext is MainViewModel viewModel
+ && viewModel.RefreshEngineeringRegistersCommand.CanExecute(null))
+ {
+ viewModel.RefreshEngineeringRegistersCommand.Execute(null);
+ }
+ }
+
+ private void CloseHotspot_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+ {
+ _closeHoldTimer.Stop();
+ _closeHoldTimer.Start();
+ }
+
+ private void CloseHotspot_OnMouseLeftButtonUp(object sender, MouseButtonEventArgs e) => _closeHoldTimer.Stop();
+
+ private void CloseHotspot_OnMouseLeave(object sender, MouseEventArgs e) => _closeHoldTimer.Stop();
+
+ private void CloseHoldTimer_OnTick(object? sender, EventArgs e)
+ {
+ _closeHoldTimer.Stop();
+ Close();
+ }
+
+ protected override void OnClosed(EventArgs e)
+ {
+ _closeHoldTimer.Stop();
+ _closeHoldTimer.Tick -= CloseHoldTimer_OnTick;
+ base.OnClosed(e);
+ }
+}
diff --git a/Cardiopulmonarybypasssystems/MainWindow.xaml b/Cardiopulmonarybypasssystems/MainWindow.xaml
index dbf5243..f55da12 100644
--- a/Cardiopulmonarybypasssystems/MainWindow.xaml
+++ b/Cardiopulmonarybypasssystems/MainWindow.xaml
@@ -21,7 +21,14 @@
-
+