diff --git a/src/main/java/com/application/GUI/LineChartFunctionality.java b/src/main/java/com/application/GUI/LineChartFunctionality.java
index 837d2d409878991139f2215026c7260fc001ddf9..23d1c1042f188c544f3015ce55bb6f631dacbcf3 100644
--- a/src/main/java/com/application/GUI/LineChartFunctionality.java
+++ b/src/main/java/com/application/GUI/LineChartFunctionality.java
@@ -22,6 +22,7 @@ import java.time.format.DateTimeFormatter;
 import java.util.*;
 
 import static com.application.GUI.LineChartFunctionality.getDataPointsXAxis;
+import static com.application.Main.*;
 
 public class LineChartFunctionality {
 
@@ -73,25 +74,40 @@ public class LineChartFunctionality {
 
         getLineChart().getData().clear();
 
-        if(printRegressionConfidenceInterval){
+        if(isPrintRegressionConfidenceInterval()){
             updateLineChart(getRegressionSeriesConfidenceInterval());
+            getMenuViewRegressionShadow().setSelected(true);
+            getRegressionConfidenceIntervalBox().setSelected(true);
         } else {
             updateLineChart(new XYChart.Series<>());
+            getMenuViewRegressionShadow().setSelected(false);
+            getRegressionConfidenceIntervalBox().setSelected(false);
         }
 
-        if(printRegression){
+        if(isPrintRegression()){
             updateLineChart(getRegressionSeries());
+            getMenuViewRegression().setSelected(true);
+            getRegressionBox().setSelected(true);
         } else {
             updateLineChart(new XYChart.Series<>());
+            getMenuViewRegression().setSelected(false);
+            getRegressionBox().setSelected(false);
         }
 
-        if(printLiveData){
+        if(isPrintLiveData()){
             updateLineChart(getLiveDataSeries());
+            getMenuViewLiveData().setSelected(true);
+            getLiveDataBox().setSelected(true);
         } else {
             updateLineChart(new XYChart.Series<>());
+            getMenuViewLiveData().setSelected(false);
+            getLiveDataBox().setSelected(false);
         }
 
-        if(printPreviousData){
+        if(isPrintPreviousData()){
+
+            getPreviousBox().setSelected(true);
+            getMenuViewPreviousData().setSelected(true);
 
             // If there are more than 5 series, adds 3 new empty series to keep the color scheme
             //int index = getLineChart().getData().size();
@@ -99,18 +115,17 @@ public class LineChartFunctionality {
                 int index = getLineChart().getData().size();
                 //System.out.println(getPreviousData().size());
                 if (index % 8 == 0 ){
-                    System.out.println(getLineChart().getData().size());
                     for (int j = 0; j < 3; j++) {
                         updateLineChart(new XYChart.Series<>());
                         //index++;
                         System.out.println("@@@@@@@");
                     }
                 }
-                System.out.println("Linechart size: "+getLineChart().getData().size());
                 updateLineChart(getPreviousData().get(i));
-                //index++;
-
             }
+        } else {
+            getPreviousBox().setSelected(false);
+            getMenuViewPreviousData().setSelected(false);
         }
     }
 
diff --git a/src/main/java/com/application/Main.java b/src/main/java/com/application/Main.java
index 6c471af27349fe6233f842ae8932db3b8893d893..1deceb77622a5ca5a63b6a3c8c6ffe368a47f18f 100644
--- a/src/main/java/com/application/Main.java
+++ b/src/main/java/com/application/Main.java
@@ -51,6 +51,16 @@ public class Main extends Application {
     private static TextField moistureGoalText;
     private static TextField timeLeftText;
 
+    private static CheckMenuItem menuViewLiveData;
+    private static CheckMenuItem menuViewRegression;
+    private static CheckMenuItem menuViewRegressionShadow;
+    private static CheckMenuItem menuViewPreviousData;
+
+    private static CheckBox liveDataBox;
+    private static CheckBox regressionBox;
+    private static CheckBox regressionConfidenceIntervalBox;
+    private static CheckBox previousBox;
+
     /**
      * Starts the application
      *
@@ -155,18 +165,61 @@ public class Main extends Application {
 
         // Defining the individual menus
         Menu menuFile = new Menu("File");
-        Menu menuEdit = new Menu("Edit");
+        Menu menuView = new Menu("View");
         Menu menuHelp = new Menu("Help");
 
         MenuItem menuFileExit = new MenuItem("Exit");
+        menuFileExit.setOnAction(event -> exitApplication());
+
+        setMenuViewLiveData(new CheckMenuItem ("Live Data"));
+        setMenuViewRegression(new CheckMenuItem ("Regression"));
+        setMenuViewRegressionShadow(new CheckMenuItem ("Regression Shadow"));
+        setMenuViewPreviousData(new CheckMenuItem ("Previous Data"));
+
+        getMenuViewLiveData().setOnAction(event -> {
+            if(getMenuViewLiveData().isSelected()){
+                LineChartFunctionality.setPrintLiveData(true);
+                LineChartFunctionality.printGraphs();
+            } else {
+                LineChartFunctionality.setPrintLiveData(false);
+                LineChartFunctionality.printGraphs();
+            }
+        });
+        getMenuViewRegression().setOnAction(event -> {
+            if(getMenuViewRegression().isSelected()){
+                LineChartFunctionality.setPrintRegression(true);
+                LineChartFunctionality.printGraphs();
+            } else {
+                LineChartFunctionality.setPrintRegression(false);
+                LineChartFunctionality.printGraphs();
+            }
+        });
+        getMenuViewRegressionShadow().setOnAction(event -> {
+            if(getMenuViewRegressionShadow().isSelected()){
+                LineChartFunctionality.setPrintRegressionConfidenceInterval(true);
+                LineChartFunctionality.printGraphs();
+            } else {
+                LineChartFunctionality.setPrintRegressionConfidenceInterval(false);
+                LineChartFunctionality.printGraphs();
+            }
+        });
+        getMenuViewPreviousData().setOnAction(event -> {
+            if(getMenuViewPreviousData().isSelected()){
+                LineChartFunctionality.setPrintPreviousData(true);
+                LineChartFunctionality.printGraphs();
+            } else {
+                LineChartFunctionality.setPrintPreviousData(false);
+                LineChartFunctionality.printGraphs();
+            }
+        });
 
 
-        menuFileExit.setOnAction(event -> exitApplication());
 
         menuFile.getItems().addAll(menuFileExit);
+        menuView.getItems().addAll(getMenuViewLiveData(), getMenuViewRegression(), getMenuViewRegressionShadow(), getMenuViewPreviousData());
 
         // Adding the menus to the menubar
-        menuBar.getMenus().addAll(menuFile, menuEdit, menuHelp);
+        menuBar.getMenus().addAll(menuFile, menuView, menuHelp);
 
         // Returns the menubar
         return menuBar;
@@ -326,10 +379,10 @@ public class Main extends Application {
         HBox hBox = new HBox();
 
         Label liveDataText = new Label("View Live Data");
-        CheckBox liveDataBox = new CheckBox();
-        liveDataBox.setSelected(true);
-        liveDataBox.setOnAction(event -> {
-            if(liveDataBox.isSelected()){
+        setLiveDataBox(new CheckBox());
+        getLiveDataBox().setSelected(true);
+        getLiveDataBox().setOnAction(event -> {
+            if(getLiveDataBox().isSelected()){
                 LineChartFunctionality.setPrintLiveData(true);
                 LineChartFunctionality.printGraphs();
 
@@ -340,10 +393,10 @@ public class Main extends Application {
         });
 
         Label regressionText = new Label("View Regression");
-        CheckBox regressionBox = new CheckBox();
-        regressionBox.setSelected(true);
-        regressionBox.setOnAction(event -> {
-            if(regressionBox.isSelected()){
+        setRegressionBox(new CheckBox());
+        getRegressionBox().setSelected(true);
+        getRegressionBox().setOnAction(event -> {
+            if(getRegressionBox().isSelected()){
                 LineChartFunctionality.setPrintRegression(true);
                 LineChartFunctionality.printGraphs();
 
@@ -354,10 +407,10 @@ public class Main extends Application {
         });
 
         Label regressionConfidenceIntervalText = new Label("View Regression Shadow");
-        CheckBox regressionConfidenceIntervalBox = new CheckBox();
-        regressionConfidenceIntervalBox.setSelected(false);
-        regressionConfidenceIntervalBox.setOnAction(event -> {
-            if(regressionConfidenceIntervalBox.isSelected()){
+        setRegressionConfidenceIntervalBox(new CheckBox());
+        getRegressionConfidenceIntervalBox().setSelected(false);
+        getRegressionConfidenceIntervalBox().setOnAction(event -> {
+            if(getRegressionConfidenceIntervalBox().isSelected()){
                 LineChartFunctionality.setPrintRegressionConfidenceInterval(true);
                 LineChartFunctionality.printGraphs();
             } else {
@@ -367,10 +420,10 @@ public class Main extends Application {
         });
 
         Label previousText = new Label("View Previous Data");
-        CheckBox previousBox = new CheckBox();
-        previousBox.setSelected(true);
-        previousBox.setOnAction(event -> {
-            if(previousBox.isSelected()){
+        setPreviousBox(new CheckBox());
+        getPreviousBox().setSelected(true);
+        getPreviousBox().setOnAction(event -> {
+            if(getPreviousBox().isSelected()){
                 LineChartFunctionality.setPrintPreviousData(true);
                 LineChartFunctionality.printGraphs();
             } else {
@@ -413,6 +466,70 @@ public class Main extends Application {
     public LineChartFunctionality getLineChartFunctionality() {
         return lineChartFunctionality;
     }
+
+    public static CheckMenuItem getMenuViewLiveData() {
+        return menuViewLiveData;
+    }
+
+    public static void setMenuViewLiveData(CheckMenuItem menuViewLiveData) {
+        Main.menuViewLiveData = menuViewLiveData;
+    }
+
+    public static CheckMenuItem getMenuViewRegression() {
+        return menuViewRegression;
+    }
+
+    public void setMenuViewRegression(CheckMenuItem menuViewRegression) {
+        Main.menuViewRegression = menuViewRegression;
+    }
+
+    public static CheckMenuItem getMenuViewRegressionShadow() {
+        return menuViewRegressionShadow;
+    }
+
+    public void setMenuViewRegressionShadow(CheckMenuItem menuViewRegressionShadow) {
+        this.menuViewRegressionShadow = menuViewRegressionShadow;
+    }
+
+    public static CheckMenuItem getMenuViewPreviousData() {
+        return menuViewPreviousData;
+    }
+
+    public void setMenuViewPreviousData(CheckMenuItem menuViewPreviousData) {
+        Main.menuViewPreviousData = menuViewPreviousData;
+    }
+
+    public static CheckBox getLiveDataBox() {
+        return liveDataBox;
+    }
+
+    public void setLiveDataBox(CheckBox liveDataBox) {
+        Main.liveDataBox = liveDataBox;
+    }
+
+    public static CheckBox getRegressionBox() {
+        return regressionBox;
+    }
+
+    public void setRegressionBox(CheckBox regressionBox) {
+        Main.regressionBox = regressionBox;
+    }
+
+    public static CheckBox getRegressionConfidenceIntervalBox() {
+        return regressionConfidenceIntervalBox;
+    }
+
+    public void setRegressionConfidenceIntervalBox(CheckBox regressionConfidenceIntervalBox) {
+        Main.regressionConfidenceIntervalBox = regressionConfidenceIntervalBox;
+    }
+
+    public static CheckBox getPreviousBox() {
+        return previousBox;
+    }
+
+    public void setPreviousBox(CheckBox previousBox) {
+        Main.previousBox = previousBox;
+    }
 }
 
 
diff --git a/target/classes/com/application/GUI/LineChartFunctionality.class b/target/classes/com/application/GUI/LineChartFunctionality.class
index 0c347f1e19491b0be62501e70eecf30edb8b9c8d..3b8cac832575fc635d10cc62e82deeda1648c460 100644
Binary files a/target/classes/com/application/GUI/LineChartFunctionality.class and b/target/classes/com/application/GUI/LineChartFunctionality.class differ
diff --git a/target/classes/com/application/Main$1WorkerThread.class b/target/classes/com/application/Main$1WorkerThread.class
index b1663172200e7bbc78759e7f6591fc0c346714b5..e79fcb3e2b285f268f3c36e356b87edc495690c5 100644
Binary files a/target/classes/com/application/Main$1WorkerThread.class and b/target/classes/com/application/Main$1WorkerThread.class differ
diff --git a/target/classes/com/application/Main.class b/target/classes/com/application/Main.class
index bb4be3d39984c9a4ca925cc07a09e12c2343f7e0..e75066f16a47ba1ce3d8cd1a2f480d290f6edff0 100644
Binary files a/target/classes/com/application/Main.class and b/target/classes/com/application/Main.class differ