diff --git a/src/main/java/com/application/DB/Constants.java b/src/main/java/com/application/DB/Constants.java
index ed2b28a7a2b93ac7805c5a478d46a44ae0cce66e..541ec591ff99fd0621dcc2309e4901875c6d4061 100644
--- a/src/main/java/com/application/DB/Constants.java
+++ b/src/main/java/com/application/DB/Constants.java
@@ -1,5 +1,8 @@
 package com.application.DB;
 
+import javafx.beans.property.SimpleIntegerProperty;
+import javafx.beans.value.ObservableValue;
+
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -27,15 +30,16 @@ public final class Constants {
 
     // User inputs
     public static String TREE_SPECIES = "";
-    public static  String DIMENSIONS = "";
-    public static  String SAWSET = "";
-    public static  String MOISTURE_GOAL = "";
+    public static String DIMENSIONS = "";
+    public static String SAWSET = "";
+    public static String MOISTURE_GOAL = "";
+    public static String TIME_LEFT = "";
 
     // Number of manual moisture checks
     public static int NUMBER_OF_CHECKS = 1;
 
     // Number of wanted drying periods
-    public static int NUMBER_OF_PERIODS = 1;
+    public static int NUMBER_OF_PERIODS = 2;
 
     // Number of seconds to wait before updating live data, in seconds
     public static int NUMBER_OF_SECONDS_LIVE_DATA = 10;
@@ -43,6 +47,9 @@ public final class Constants {
     // Non linear regression
     public static final double ADJUST_REGRESSION = 5.5;
 
+    // Number percentage to display the searching for data
+    public static ObservableValue<Integer> PERCENTAGE = new SimpleIntegerProperty().asObject();
+
     // Current sawmill settings;
     public static final String PROJECT_ID = "sf-drying-optimization";
     public static final int LOCATION_ID = 124;
diff --git a/src/main/java/com/application/DB/DB.java b/src/main/java/com/application/DB/DB.java
index 3b0936d87144e8e6ed07c3435a08fc418b7e88e7..95044b76aa3e1e768e9a36df47c518a5cef79fd5 100644
--- a/src/main/java/com/application/DB/DB.java
+++ b/src/main/java/com/application/DB/DB.java
@@ -561,10 +561,46 @@ public class DB {
 
 
     public static void pushManMoisture(String moisture, boolean finished) throws Exception {
+
+        String startTime = null;
+        String stopTime = null;
+        String treeSpecies;
+        String dimensions;
+        String sawset;
+        String moistureGoal;
+
+        // Checks if variables is not null, if so, formats correctly for the sql statement
+        if(!START_TIME.equals("")){
+            startTime = '"'+START_TIME+'"';
+        }
+        if(STOP_TIME != null){
+            stopTime = '"'+STOP_TIME+'"';
+        }
+        if(!TREE_SPECIES.equals("")){
+            treeSpecies = '"'+TREE_SPECIES+'"';
+        } else {
+            treeSpecies = null;
+        }
+        if(!DIMENSIONS.equals("")){
+            dimensions = '"'+DIMENSIONS+'"';
+        } else {
+            dimensions = null;
+        }
+        if(!SAWSET.equals("")){
+            sawset = '"'+SAWSET+'"';
+        } else {
+            sawset = null;
+        }
+        if(!MOISTURE_GOAL.equals("")){
+            moistureGoal = '"'+MOISTURE_GOAL+'"';
+        } else {
+            moistureGoal = null;
+        }
+
         // Sqlstatement
         final String sqlStatement =
-                "INSERT INTO " + PROJECT_ID + "." + LOCATION_ID + "." + MAN_MOISTURE_TABLE + "(moisture,tree_species,dimensions,sawset,moisture_goal,no_moisture_checkstart_time,start_time,stop_time,finished) " +
-                        "VALUES("+moisture+","+TREE_SPECIES+","+DIMENSIONS+","+SAWSET+","+MOISTURE_GOAL+","+NUMBER_OF_CHECKS+","+",) ";
+                "INSERT INTO " + PROJECT_ID + "." + LOCATION_ID + "." + MAN_MOISTURE_TABLE + "(moisture,tree_species,dimensions,sawset,moisture_goal,no_moisture_check,start_time,stop_time,finished) " +
+                        "VALUES("+moisture+","+treeSpecies+","+dimensions+","+sawset+","+moistureGoal+","+NUMBER_OF_CHECKS+","+startTime+","+stopTime+","+finished+") ";
 
         System.out.println(sqlStatement);
 
diff --git a/src/main/java/com/application/GUI/LineChartFunctionality.java b/src/main/java/com/application/GUI/LineChartFunctionality.java
index c5b42259e1085cbe135eb933243c8e890cfdf2a3..376644393619c90aab2621686246d69decb9e613 100644
--- a/src/main/java/com/application/GUI/LineChartFunctionality.java
+++ b/src/main/java/com/application/GUI/LineChartFunctionality.java
@@ -1,5 +1,6 @@
 package com.application.GUI;
 
+import com.application.Main;
 import javafx.collections.ObservableList;
 import javafx.scene.chart.CategoryAxis;
 import javafx.scene.chart.LineChart;
@@ -15,6 +16,7 @@ import java.lang.reflect.Array;
 import java.util.*;
 
 import static com.application.DB.Constants.ADJUST_REGRESSION;
+import static com.application.DB.Constants.TIME_LEFT;
 //import static com.application.DB.DB.
 
 public class LineChartFunctionality {
@@ -24,6 +26,7 @@ public class LineChartFunctionality {
     private static CategoryAxis xAxis;
     private static NumberAxis yAxis;
     private static final double CONFIDENCE_INTERVAL = 0.90;
+    private static int dataPoints = 0;
 
 
     public LineChartFunctionality() {
@@ -193,7 +196,7 @@ public class LineChartFunctionality {
         }
         endOfGraphPoints.add(confidenceIntervalData.size());
 
-        int dataPoints = 0;
+        dataPoints = 0;
         for (int i = 0; i < endOfGraphPoints.size(); i++) {
             dataPoints+=endOfGraphPoints.get(i);
         }
@@ -258,11 +261,15 @@ public class LineChartFunctionality {
 
         //simpleRegression.add
 
+        getTimeLeft(0);
+
         return getLineChart();
     }
 
     public static void loadLiveData(Map<String, Number> userInput) throws Exception {
 
+        getTimeLeft(userInput.size());
+
         int index = 0;
         for (Map.Entry<String, Number> entryKwh : userInput.entrySet()) {
             Double kwhValue = entryKwh.getValue().doubleValue();
@@ -271,7 +278,24 @@ public class LineChartFunctionality {
             liveDataSeries.getData().add(new XYChart.Data<String, Number>(String.valueOf(index), kwhValue));
             index++;
         }
-}
+    }
+
+    public static void getTimeLeft(int liveData){
+        int time = 0;
+
+        if(liveData == 0) {
+            time = dataPoints*10;
+
+        } else {
+            time = (dataPoints/liveData)*10;
+        }
+        if(time > 60){
+            time = time/60;
+            Main.setTimeLeftText(time + " h");
+        } else {
+            Main.setTimeLeftText(time + " min");
+        }
+    }
 
 
     public static double getNonLinearRegression(Map<Integer, ArrayList<Double>> confidenceIntervalData, double y0, double alpha, double j, int n) {
diff --git a/src/main/java/com/application/GUI/OutputPopUpWindow.java b/src/main/java/com/application/GUI/OutputPopUpWindow.java
index 94d7d93cae131313a583194d6286a8fa38104ffb..26f5a378adc320f0f283a79072d6b7cd23e279d4 100644
--- a/src/main/java/com/application/GUI/OutputPopUpWindow.java
+++ b/src/main/java/com/application/GUI/OutputPopUpWindow.java
@@ -36,15 +36,24 @@ public class OutputPopUpWindow {
         moistureCheckTextField.setId("inputLabel");
         moistureCheckTextField.setAlignment(Pos.CENTER);
 
+
+
         // Bottom - Buttons
         Button countinueButton = new Button("Continue");
         countinueButton.setId("inputButtonStart");
         countinueButton.setAlignment(Pos.BOTTOM_CENTER);
         countinueButton.setOnAction(e -> {
                     try {
-                        STOP_TIME = "";
-                        DB.pushManMoisture(moistureCheckTextField.getCharacters().toString(), false);
-                        NUMBER_OF_CHECKS++;
+                        if(!moistureCheckTextField.getCharacters().toString().isEmpty() &&
+                            !moistureCheckTextField.getCharacters().toString().equals("Please enter a value")) {
+                            STOP_TIME = null;
+                            DB.pushManMoisture(moistureCheckTextField.getCharacters().toString(), false);
+                            NUMBER_OF_CHECKS++;
+                            window.close();
+                        } else {
+                            moistureCheckTextField.setPromptText("Please enter a value");
+                        }
+
                     } catch (Exception ex) {
                         ex.printStackTrace();
                     }
@@ -54,8 +63,14 @@ public class OutputPopUpWindow {
         finishButton.setAlignment(Pos.BOTTOM_CENTER);
         finishButton.setOnAction(e -> {
             try {
-                STOP_TIME = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now());
-                DB.pushManMoisture(moistureCheckTextField.getCharacters().toString(),true);
+                if(!moistureCheckTextField.getCharacters().toString().isEmpty() &&
+                    !moistureCheckTextField.getCharacters().toString().equals("Please enter a value")) {
+                    STOP_TIME = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now());
+                    DB.pushManMoisture(moistureCheckTextField.getCharacters().toString(),true);
+                    window.close();
+                } else {
+                    moistureCheckTextField.setPromptText("Please enter a value");
+                }
             } catch (Exception ex) {
                 ex.printStackTrace();
             }
diff --git a/src/main/java/com/application/Main.java b/src/main/java/com/application/Main.java
index 2a15a6eb4f244bc1d32dc735709c16fe8dcf6edc..0f995abb681cb595c6e67dcb57412fd1e00bfa27 100644
--- a/src/main/java/com/application/Main.java
+++ b/src/main/java/com/application/Main.java
@@ -1,6 +1,5 @@
 package com.application;
 
-import com.application.DB.Constants;
 import com.application.GUI.InputPopUpWindow;
 import com.application.GUI.OutputPopUpWindow;
 import com.application.GUI.RingProgressIndicator;
@@ -42,6 +41,7 @@ public class Main extends Application {
     private static TextField dimensionsText;
     private static TextField sawsetText;
     private static TextField moistureGoalText;
+    private static TextField timeLeftText;
 
     /**
      * Starts the application
@@ -189,6 +189,14 @@ public class Main extends Application {
         moistureGoalText.setText(MOISTURE_GOAL);
         moistureGoalText.setEditable(false);
 
+        Label timeLeftLabel = new Label("Time Left");
+        timeLeftLabel.setId("sideBarLabelText");
+        timeLeftText = new TextField();
+        timeLeftText.setId("sideBarLabelText");
+        timeLeftText.setPromptText("Calculating...");
+        timeLeftText.setText(TIME_LEFT);
+        timeLeftText.setEditable(false);
+
         Button inputParametersButton = new Button("Input Parameters");
         inputParametersButton.setId("sideBarButtonInputParameters");
         inputParametersButton.setOnAction(e -> InputPopUpWindow.display());
@@ -245,7 +253,7 @@ public class Main extends Application {
 
 
         sideBarVBox.getChildren().addAll(ringProgressIndicator, treeSpeciesLabel, treeSpeciesText, dimensionsLabel, dimensionsText,
-                sawsetLabel, sawsetText, moistureGoalLabel, moistureGoalText, inputParametersButton, finishButton, exitButton);
+                sawsetLabel, sawsetText, moistureGoalLabel, moistureGoalText, timeLeftLabel, timeLeftText, inputParametersButton, finishButton, exitButton);
 
         VBox.setVgrow(sideBarVBox, Priority.ALWAYS);
 
@@ -302,6 +310,10 @@ public class Main extends Application {
     public static void setMoistureGoalText(String moistureGoalText) {
         Main.moistureGoalText.setText(moistureGoalText);
     }
+
+    public static void setTimeLeftText(String moistureGoalText) {
+        Main.timeLeftText.setText(moistureGoalText);
+    }
 }
 
 
diff --git a/target/classes/com/application/DB/Constants.class b/target/classes/com/application/DB/Constants.class
index 12b796c5c7f59d192a5504fb50d7263ec9fee188..e4a40bb5a814f32272d6ba8147e2d80a53fd2771 100644
Binary files a/target/classes/com/application/DB/Constants.class and b/target/classes/com/application/DB/Constants.class differ
diff --git a/target/classes/com/application/DB/DB.class b/target/classes/com/application/DB/DB.class
index 907ca7cd83870015b2dfa3d10e234e29292ea61b..aded3c064c967f49860ea32d288755bbb1f6538c 100644
Binary files a/target/classes/com/application/DB/DB.class and b/target/classes/com/application/DB/DB.class differ
diff --git a/target/classes/com/application/GUI/LineChartFunctionality.class b/target/classes/com/application/GUI/LineChartFunctionality.class
index f70466837b2fd6c3753ca6494fe6f688c79c214e..814f84462cfd3ea9e241aaebceffe9b06984eee1 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/GUI/OutputPopUpWindow.class b/target/classes/com/application/GUI/OutputPopUpWindow.class
index 3ce6d7422da8fe27aa5bfd05cc8d07d7c6ca9408..f30d763a28232c3f200b56a674d1c96e17dc89e1 100644
Binary files a/target/classes/com/application/GUI/OutputPopUpWindow.class and b/target/classes/com/application/GUI/OutputPopUpWindow.class differ