diff --git a/src/main/java/edu/ntnu/stud/chaosgame/controller/utility/Formatter.java b/src/main/java/edu/ntnu/stud/chaosgame/controller/utility/Formatter.java
new file mode 100644
index 0000000000000000000000000000000000000000..258e2032a925e61455fc3fff584fcb8b274b5f3a
--- /dev/null
+++ b/src/main/java/edu/ntnu/stud/chaosgame/controller/utility/Formatter.java
@@ -0,0 +1,32 @@
+package edu.ntnu.stud.chaosgame.controller.utility;
+
+import java.util.function.UnaryOperator;
+import javafx.scene.control.TextFormatter;
+import javafx.scene.control.TextFormatter.Change;
+
+/**
+ * This class sets formatting constraints for certain UI components.
+ */
+public class Formatter {
+
+
+  /**
+   * A formatter for text fields that only allows for floating point numbers.
+   */
+  public static UnaryOperator<Change> floatFormatter = change -> {
+    String newText = change.getControlNewText();
+    if (newText.matches("([0-9]*[.])?[0-9]*")) {
+      return change;
+    }
+    return null;
+  };
+
+  /**
+   * Get the float formatter as a TextFormatter.
+   *
+   * @return the float formatter.
+   */
+  public static TextFormatter<Change> getFloatFormatter() {
+    return new TextFormatter<>(floatFormatter);
+  }
+}
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/view/ChaosGameGui.java b/src/main/java/edu/ntnu/stud/chaosgame/view/ChaosGameGui.java
index a10f7de7d8b75e402673a633cf8126fbfa7edb96..325894f79b87898ac7b7ca79f8c4e80028c958da 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/view/ChaosGameGui.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/view/ChaosGameGui.java
@@ -282,44 +282,56 @@ public class ChaosGameGui implements ChaosGameObserver {
     this.sideMenu = new VBox();
     // Parameters
     VBox parameterBox = new VBox();
+
     // Step Count GUI
     VBox stepCountBox = new VBox();
     Label stepCountLabel = new Label("Step Count");
-    TextArea stepCountTextArea = new TextArea();
-    stepCountTextArea.setPrefHeight(5);
-    stepCountTextArea.setPrefWidth(50);
+    TextField stepCountTextField = new TextField();
+    stepCountTextField.setPrefHeight(5);
+    stepCountTextField.setPrefWidth(50);
     Button changeStepCountButton = new Button("Change Step Count");
-    stepCountBox.getChildren().addAll(stepCountLabel,stepCountTextArea, changeStepCountButton);
+    stepCountBox.getChildren().addAll(stepCountLabel,stepCountTextField, changeStepCountButton);
+
     // Minimum Coordinates GUI
     VBox minCoordinatesBox = new VBox();
     Label minCoordinatesLabel = new Label("Min. Coordinates");
-    TextArea minimumCoordinatesTextArea = new TextArea();
-    minimumCoordinatesTextArea.setPrefHeight(5);
-    minimumCoordinatesTextArea.setPrefWidth(50);
+    TextField minimumCoordinatesTextField = new TextField();
+    minimumCoordinatesTextField.setPrefHeight(5);
+    minimumCoordinatesTextField.setPrefWidth(50);
     Button changeMinimumCoordinatesButton = new Button("Change Min. Coordinates");
-    minCoordinatesBox.getChildren().addAll(minCoordinatesLabel,minimumCoordinatesTextArea,changeMinimumCoordinatesButton);
+    minCoordinatesBox.getChildren().addAll(minCoordinatesLabel,
+        minimumCoordinatesTextField,changeMinimumCoordinatesButton);
+
     // Maximum Coordinates GUI
     VBox maxCoordinatesBox = new VBox();
     Label maxCoordinatesLabel = new Label("Max Coordinates");
-    TextArea maximumCoordinatesTextArea = new TextArea();
-    maximumCoordinatesTextArea.setPrefHeight(5);
-    maximumCoordinatesTextArea.setPrefWidth(50);
+    TextField maximumCoordinatesTextField = new TextField();
+    maximumCoordinatesTextField.setPrefHeight(5);
+    maximumCoordinatesTextField.setPrefWidth(50);
     Button changeMaximumCoordinatesButton = new Button("Change Max Coordinates");
-    maxCoordinatesBox.getChildren().addAll(maxCoordinatesLabel,maximumCoordinatesTextArea,changeMaximumCoordinatesButton);
+    maxCoordinatesBox.getChildren().addAll(maxCoordinatesLabel,
+        maximumCoordinatesTextField,changeMaximumCoordinatesButton);
+
     // Fill parameter box
     parameterBox.getChildren().addAll(stepCountBox, minCoordinatesBox, maxCoordinatesBox);
     parameterBox.setPadding(new Insets(10));
 
     // Add basic control buttons
     sideMenu.getChildren().addAll(startButton,stopButton,newButton,clearButton);
+
     // Add fractal radio buttons
-    sideMenu.getChildren().addAll(sierpinskiRadioButton, barnsleyRadioButton, juliaRadioButton, improvedBarnsleyButton);
+    sideMenu.getChildren().addAll(sierpinskiRadioButton, barnsleyRadioButton, juliaRadioButton,
+        improvedBarnsleyButton);
+
     // Add parameter VBox
     sideMenu.getChildren().add(parameterBox);
+
     // Add file buttons
     sideMenu.getChildren().addAll(loadFractalFromFileButton,writeFractalToFileButton);
+
     // Add quit button
     sideMenu.getChildren().add(quitButton);
+
     // Add padding
     sideMenu.setPadding(new Insets(10));
 
@@ -335,6 +347,7 @@ public class ChaosGameGui implements ChaosGameObserver {
     VBox rightVBox = new VBox();
 
     rightVBox.getChildren().addAll(sideMenuButtonBox, sideMenu);
+    this.sideMenu.setStyle("-fx-background-color: lightgrey; -fx-background-radius: 3;");
 
     this.borderPane = new BorderPane();
     this.borderPane.setCenter(imageView);
@@ -345,6 +358,10 @@ public class ChaosGameGui implements ChaosGameObserver {
 
   }
 
+  /**
+   * Initialise the side bar button handler, allowing the user
+   * to show or hide the right sidebar.
+   */
   private void initializeSideButtonHandler() {
     TranslateTransition openNav = new TranslateTransition(new Duration(350), sideMenu);
     openNav.setToX(0);