diff --git a/src/main/java/edu/ntnu/stud/chaosgame/controller/game/PopupButtonController.java b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/PopupButtonController.java
index c08302597acae0219acd8bc19f848c9396fb64a9..d143399453b5aeb9104823404b8f8b24106579e3 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/controller/game/PopupButtonController.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/controller/game/PopupButtonController.java
@@ -9,6 +9,7 @@ import edu.ntnu.stud.chaosgame.model.transformations.AffineTransform2D;
 import edu.ntnu.stud.chaosgame.model.transformations.JuliaTransform;
 import edu.ntnu.stud.chaosgame.model.game.ChaosGameDescription;
 import edu.ntnu.stud.chaosgame.model.transformations.Transform2D;
+import edu.ntnu.stud.chaosgame.view.PopupObserver;
 import edu.ntnu.stud.chaosgame.view.modificationpopups.AbstractPopup;
 import edu.ntnu.stud.chaosgame.view.modificationpopups.Affine2DPopup;
 import edu.ntnu.stud.chaosgame.view.modificationpopups.JuliaPopup;
@@ -20,105 +21,128 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * Controller class for handling the buttons relating to modifying the chaos game in the
- * user interface.
+ * Controller class for handling the buttons related to modifying the chaos game in the user interface.
  */
 public class PopupButtonController {
 
-  /**
-   * File handler for handling file operations.
-   */
   private final ChaosGameFileHandler fileHandler;
+  private PopupObserver observer;
 
   /**
-   * Basic constructor for the class.
+   * Constructor for PopupButtonController.
    */
   public PopupButtonController() {
-      this.fileHandler = new ChaosGameFileHandler();
+    this.fileHandler = new ChaosGameFileHandler();
   }
 
   /**
-   * Handles the update button in the Affine2DPopup.
+   * Sets the observer for the PopupButtonController.
+   *
+   * @param observer the observer to be set.
+   */
+  public void setObserver(PopupObserver observer) {
+    this.observer = observer;
+  }
+
+  /**
+   * Handles the update button action for the Affine2DPopup.
    *
    * @param popup the Affine2DPopup to handle the button for.
    */
   public void handleUpdateButton(Affine2DPopup popup) {
     popup.getUpdateButton().setOnAction(event -> {
-      // Create new ChaosGameDescription based on the popup fields
-      String name = popup.getNameTextField().getText();
-      Vector2D minCoords = new Vector2D(
-            Double.parseDouble(popup.getMinXTextField().getText()),
-            Double.parseDouble(popup.getMinYTextField().getText())
-      );
-      Vector2D maxCoords = new Vector2D(
-            Double.parseDouble(popup.getMaxXTextField().getText()),
-            Double.parseDouble(popup.getMaxYTextField().getText())
-      );
-
-      List<Transform2D> transforms = new ArrayList<>();
-      for (int i = 0; i < popup.getMatrixTextFields().length; i++) {
-        double a00 = Double.parseDouble(popup.getMatrixTextFields()[i][0].getText());
-        double a01 = Double.parseDouble(popup.getMatrixTextFields()[i][1].getText());
-        double a10 = Double.parseDouble(popup.getMatrixTextFields()[i][2].getText());
-        double a11 = Double.parseDouble(popup.getMatrixTextFields()[i][3].getText());
-        double b0 = Double.parseDouble(popup.getVectorTextFields()[2 * i].getText());
-        double b1 = Double.parseDouble(popup.getVectorTextFields()[2 * i + 1].getText());
-
-        transforms.add(new AffineTransform2D(new Matrix2x2(a00, a01, a10, a11),
-            new Vector2D(b0, b1)));
-      }
-
-      // Create new ChaosGameDescription
-      ChaosGameDescription newDescription = new ChaosGameDescription(minCoords, maxCoords, transforms, name);
-
-      // Write new ChaosGameDescription to a file
-      try {
-        String filePath = Paths.get("src/main/resources/descriptions/saved_descriptions", name
-            + ".txt").toString();
-        fileHandler.writeToFile(newDescription, filePath);
-        showConfirmationPopup(popup);
-      } catch (IOException e) {
-        PopupManager.displayError("Error", "Could not save the ChaosGameDescription to file.");
-      }
+      ChaosGameDescription newDescription = createChaosGameDescriptionFromAffine2DPopup(popup);
+      saveAndNotify(popup, newDescription);
     });
   }
 
   /**
-   * Handles the update button in the JuliaPopup.
+   * Handles the update button action for the JuliaPopup.
    *
    * @param popup the JuliaPopup to handle the button for.
    */
   public void handleUpdateButton(JuliaPopup popup) {
     popup.getUpdateButton().setOnAction(event -> {
-      // Create new ChaosGameDescription based on the popup fields
-      String name = popup.getNameTextField().getText();
-      Vector2D minCoords = new Vector2D(
-            Double.parseDouble(popup.getMinXTextField().getText()),
-            Double.parseDouble(popup.getMinYTextField().getText())
-      );
-      Vector2D maxCoords = new Vector2D(
-            Double.parseDouble(popup.getMaxXTextField().getText()),
-            Double.parseDouble(popup.getMaxYTextField().getText())
-      );
-
-      double realPart = Double.parseDouble(popup.getRealPartTextField().getText());
-      double imagPart = Double.parseDouble(popup.getImagPartTextField().getText());
-      JuliaTransform transform = new JuliaTransform(new Complex(realPart, imagPart),1);
-
-      // Create new ChaosGameDescription
-      ChaosGameDescription newDescription = new ChaosGameDescription(minCoords, maxCoords, List.of(transform), name);
-
-      // Write new ChaosGameDescription to a file
-      try {
-        String filePath = Paths.get("src/main/resources/descriptions/saved_descriptions", name + ".txt").toString();
-        fileHandler.writeToFile(newDescription, filePath);
-        showConfirmationPopup(popup);
-      } catch (IOException e) {
-        PopupManager.displayError("Error", "Could not save the ChaosGameDescription to file.");
-      }
+      ChaosGameDescription newDescription = createChaosGameDescriptionFromJuliaPopup(popup);
+      saveAndNotify(popup, newDescription);
     });
   }
 
+  /**
+   * Creates a ChaosGameDescription from the data in an Affine2DPopup.
+   *
+   * @param popup the Affine2DPopup to extract data from.
+   * @return the created ChaosGameDescription.
+   */
+  private ChaosGameDescription createChaosGameDescriptionFromAffine2DPopup(Affine2DPopup popup) {
+    String name = popup.getNameTextField().getText();
+    Vector2D minCoords = new Vector2D(
+        Double.parseDouble(popup.getMinXTextField().getText()),
+        Double.parseDouble(popup.getMinYTextField().getText())
+    );
+    Vector2D maxCoords = new Vector2D(
+        Double.parseDouble(popup.getMaxXTextField().getText()),
+        Double.parseDouble(popup.getMaxYTextField().getText())
+    );
+
+    List<Transform2D> transforms = new ArrayList<>();
+    for (int i = 0; i < popup.getMatrixTextFields().length; i++) {
+      double a00 = Double.parseDouble(popup.getMatrixTextFields()[i][0].getText());
+      double a01 = Double.parseDouble(popup.getMatrixTextFields()[i][1].getText());
+      double a10 = Double.parseDouble(popup.getMatrixTextFields()[i][2].getText());
+      double a11 = Double.parseDouble(popup.getMatrixTextFields()[i][3].getText());
+      double b0 = Double.parseDouble(popup.getVectorTextFields()[2 * i].getText());
+      double b1 = Double.parseDouble(popup.getVectorTextFields()[2 * i + 1].getText());
+
+      transforms.add(new AffineTransform2D(new Matrix2x2(a00, a01, a10, a11), new Vector2D(b0, b1)));
+    }
+
+    return new ChaosGameDescription(minCoords, maxCoords, transforms, name);
+  }
+
+  /**
+   * Creates a ChaosGameDescription from the data in a JuliaPopup.
+   *
+   * @param popup the JuliaPopup to extract data from.
+   * @return the created ChaosGameDescription.
+   */
+  private ChaosGameDescription createChaosGameDescriptionFromJuliaPopup(JuliaPopup popup) {
+    String name = popup.getNameTextField().getText();
+    Vector2D minCoords = new Vector2D(
+        Double.parseDouble(popup.getMinXTextField().getText()),
+        Double.parseDouble(popup.getMinYTextField().getText())
+    );
+    Vector2D maxCoords = new Vector2D(
+        Double.parseDouble(popup.getMaxXTextField().getText()),
+        Double.parseDouble(popup.getMaxYTextField().getText())
+    );
+
+    double realPart = Double.parseDouble(popup.getRealPartTextField().getText());
+    double imagPart = Double.parseDouble(popup.getImagPartTextField().getText());
+    JuliaTransform transform = new JuliaTransform(new Complex(realPart, imagPart), 1);
+
+    return new ChaosGameDescription(minCoords, maxCoords, List.of(transform), name);
+  }
+
+  /**
+   * Saves the ChaosGameDescription to a file and shows a confirmation popup.
+   *
+   * @param popup the popup to show the confirmation for.
+   * @param newDescription the ChaosGameDescription to save.
+   */
+  private void saveAndNotify(AbstractPopup popup, ChaosGameDescription newDescription) {
+    try {
+      String filePath = Paths.get("src/main/resources/descriptions/saved_descriptions", newDescription.getName() + ".txt").toString();
+      fileHandler.writeToFile(newDescription, filePath);
+      showConfirmationPopup(popup);
+      if (observer != null) {
+        observer.onUpdate(newDescription);
+      }
+    } catch (IOException e) {
+      PopupManager.displayError("Error", "Could not save the ChaosGameDescription to file.");
+    }
+  }
+
   /**
    * Shows a confirmation popup when the ChaosGameDescription has been updated and saved.
    *
@@ -130,12 +154,7 @@ public class PopupButtonController {
     alert.showAndWait().ifPresent(response -> {
       if (response == ButtonType.OK) {
         popup.getPopupModifyStage().close();
-        GuiButtonController controller = (GuiButtonController) popup.getPopupModifyStage().getUserData();
-        if (controller != null) {
-            controller.updateDescriptionComboBox();
-        }
       }
     });
   }
 }
-
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
index 89aa26817e72508f53ab66d639716ef07c056eac..84123b743eefc93c614e937efe6eb50580580861 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/controller/utility/Formatter.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/controller/utility/Formatter.java
@@ -16,7 +16,7 @@ public class Formatter {
    */
   public static UnaryOperator<Change> floatFormatter = change -> {
     String newText = change.getControlNewText();
-    if (newText.matches("([0-9]*[.])?[0-9]*")) {
+    if (newText.matches("-?([0-9]*[.])?[0-9]*")) {
       return change;
     }
     return null;
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/view/PopupObserver.java b/src/main/java/edu/ntnu/stud/chaosgame/view/PopupObserver.java
new file mode 100644
index 0000000000000000000000000000000000000000..27b92a665c2f585958746cbeaf2b9a85a37decaf
--- /dev/null
+++ b/src/main/java/edu/ntnu/stud/chaosgame/view/PopupObserver.java
@@ -0,0 +1,7 @@
+package edu.ntnu.stud.chaosgame.view;
+
+import edu.ntnu.stud.chaosgame.model.game.ChaosGameDescription;
+
+public interface PopupObserver {
+  void onUpdate(ChaosGameDescription description);
+}
\ No newline at end of file
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/AbstractPopup.java b/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/AbstractPopup.java
index e96a2cc5b0e1ca80c9b641ea097b611a9753aea7..69d199b21d679e20282f94798909b1de7e4e5f84 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/AbstractPopup.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/AbstractPopup.java
@@ -19,54 +19,11 @@ import javafx.stage.Stage;
  */
 public abstract class AbstractPopup {
 
-  /**
-   * The stage for the popup.
-   */
   protected Stage popupModifyStage;
-
-  /**
-   * The layout of the popup.
-   */
   protected VBox layout;
-
-  /**
-   * The scene of the popup.
-   */
   protected Scene scene;
-
-  /**
-   * The text field for the name.
-   */
-  protected TextField nameTextField;
-
-  /**
-   * The text field for the minimum x value.
-   */
-  protected TextField minXTextField;
-
-  /**
-   * The text field for the minimum y value.
-   */
-  protected TextField minYTextField;
-
-  /**
-   * The text field for the maximum x value.
-   */
-  protected TextField maxXTextField;
-
-  /**
-   * The text field for the maximum y value.
-   */
-  protected TextField maxYTextField;
-
-  /**
-   * The update button.
-   */
+  protected TextField nameTextField, minXTextField, minYTextField, maxXTextField, maxYTextField;
   protected Button updateButton;
-
-  /**
-   * The layout for the bottom part of the popup.
-   */
   protected VBox bottomLayout;
 
   /**
@@ -81,53 +38,52 @@ public abstract class AbstractPopup {
     this.layout = layout;
     this.scene = new Scene(layout);
     this.popupModifyStage.setScene(scene);
-
     initializeCommonElements();
   }
 
   /**
-   * Initialize the common elements of the popup.
+   * Initializes common elements of the popup.
    */
   private void initializeCommonElements() {
-  nameTextField = new TextField();
-  HBox nameBox = new HBox(new Label("Name: "), nameTextField);
-
-  minXTextField = createNumericTextField();
-  minYTextField = createNumericTextField();
-  maxXTextField = createNumericTextField();
-  maxYTextField = createNumericTextField();
-  updateButton = new Button("Update");
-
-  minXTextField.setPrefWidth(50);
-  minYTextField.setPrefWidth(50);
-  maxXTextField.setPrefWidth(50);
-  maxYTextField.setPrefWidth(50);
-
-  GridPane minCoordsGrid = new GridPane();
-  minCoordsGrid.setHgap(10);
-  minCoordsGrid.add(new Label("Min Coordinates: "), 0, 0);
-  minCoordsGrid.add(minXTextField, 1, 0);
-  minCoordsGrid.add(minYTextField, 2, 0);
-
-  GridPane maxCoordsGrid = new GridPane();
-  maxCoordsGrid.setHgap(10);
-  maxCoordsGrid.add(new Label("Max Coordinates: "), 0, 0);
-  maxCoordsGrid.add(maxXTextField, 1, 0);
-  maxCoordsGrid.add(maxYTextField, 2, 0);
-
-  bottomLayout = new VBox(10, minCoordsGrid, maxCoordsGrid, updateButton);
-  bottomLayout.setAlignment(Pos.CENTER); // Center align the children
-  bottomLayout.setPadding(new Insets(10));
-
-  VBox.setVgrow(bottomLayout, Priority.ALWAYS);
-
-  layout.getChildren().addFirst(nameBox);
-}
+    nameTextField = new TextField();
+    HBox nameBox = new HBox(new Label("Name: "), nameTextField);
+
+    minXTextField = createNumericTextField();
+    minYTextField = createNumericTextField();
+    maxXTextField = createNumericTextField();
+    maxYTextField = createNumericTextField();
+    updateButton = new Button("Update");
+
+    minXTextField.setPrefWidth(50);
+    minYTextField.setPrefWidth(50);
+    maxXTextField.setPrefWidth(50);
+    maxYTextField.setPrefWidth(50);
+
+    GridPane minCoordsGrid = new GridPane();
+    minCoordsGrid.setHgap(10);
+    minCoordsGrid.add(new Label("Min Coordinates: "), 0, 0);
+    minCoordsGrid.add(minXTextField, 1, 0);
+    minCoordsGrid.add(minYTextField, 2, 0);
+
+    GridPane maxCoordsGrid = new GridPane();
+    maxCoordsGrid.setHgap(10);
+    maxCoordsGrid.add(new Label("Max Coordinates: "), 0, 0);
+    maxCoordsGrid.add(maxXTextField, 1, 0);
+    maxCoordsGrid.add(maxYTextField, 2, 0);
+
+    bottomLayout = new VBox(10, minCoordsGrid, maxCoordsGrid, updateButton);
+    bottomLayout.setAlignment(Pos.CENTER);
+    bottomLayout.setPadding(new Insets(10));
+
+    VBox.setVgrow(bottomLayout, Priority.ALWAYS);
+
+    layout.getChildren().addFirst(nameBox);
+  }
 
   /**
-   * Create a numeric text field.
+   * Creates a numeric text field with a float formatter.
    *
-   * @return the numeric text field.
+   * @return the created numeric text field.
    */
   protected TextField createNumericTextField() {
     TextField numberField = new TextField();
@@ -136,9 +92,9 @@ public abstract class AbstractPopup {
   }
 
   /**
-   * Initialize the layout of the popup.
+   * Initializes the layout of the popup.
    *
-   * @return the layout of the popup.
+   * @return the initialized layout.
    */
   public static VBox initializeLayout() {
     VBox layout = new VBox();
@@ -148,73 +104,73 @@ public abstract class AbstractPopup {
   }
 
   /**
-   * Display the popup.
+   * Displays the popup.
    */
   public void display() {
-      popupModifyStage.show();
+    popupModifyStage.show();
   }
 
   /**
-   * Get the stage of the popup.
+   * Gets the stage of the popup.
    *
    * @return the stage of the popup.
    */
   public Stage getPopupModifyStage() {
-      return popupModifyStage;
+    return popupModifyStage;
   }
 
   /**
-   * Get the text field for the name.
+   * Gets the text field for the name.
    *
    * @return the text field for the name.
    */
   public TextField getNameTextField() {
-      return nameTextField;
+    return nameTextField;
   }
 
   /**
-   * Get the text field for the minimum x value.
+   * Gets the text field for the minimum x value.
    *
    * @return the text field for the minimum x value.
    */
   public TextField getMinXTextField() {
-      return minXTextField;
+    return minXTextField;
   }
 
   /**
-   * Get the text field for the minimum y value.
+   * Gets the text field for the minimum y value.
    *
    * @return the text field for the minimum y value.
    */
   public TextField getMinYTextField() {
-      return minYTextField;
+    return minYTextField;
   }
 
   /**
-   * Get the text field for the maximum x value.
+   * Gets the text field for the maximum x value.
    *
    * @return the text field for the maximum x value.
    */
   public TextField getMaxXTextField() {
-      return maxXTextField;
+    return maxXTextField;
   }
 
   /**
-   * Get the text field for the maximum y value.
+   * Gets the text field for the maximum y value.
    *
    * @return the text field for the maximum y value.
    */
   public TextField getMaxYTextField() {
-      return maxYTextField;
+    return maxYTextField;
   }
 
   /**
-   * Get the update button.
+   * Gets the update button.
    *
    * @return the update button.
    */
   public Button getUpdateButton() {
-      return updateButton;
+    return updateButton;
   }
 }
 
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/Affine2DPopup.java b/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/Affine2DPopup.java
index 27ddbe8c27b5fd4271dafaa8df43c6d9cdbbdb02..a0cef5115f10ff87f6eccafb120b56e1bccffdb3 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/Affine2DPopup.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/Affine2DPopup.java
@@ -15,14 +15,7 @@ import edu.ntnu.stud.chaosgame.model.game.ChaosGameDescription;
  */
 public class Affine2DPopup extends AbstractPopup {
 
-  /**
-   * The text fields for the matrix, represented as a 2D array.
-   */
   private final TextField[][] matrixTextFields;
-
-  /**
-   * The text fields for the vector, represented as a 1D array.
-   */
   private final TextField[] vectorTextFields;
 
   /**
@@ -33,8 +26,7 @@ public class Affine2DPopup extends AbstractPopup {
   public Affine2DPopup(ChaosGameDescription gameDescription) {
     super(AbstractPopup.initializeLayout());
 
-    // Initialize the TextFields for matrices and vectors based on the number of transforms
-    int transformCount = Math.min(gameDescription.getTransforms().size(), 4); // Ensure maximum of 4 transformations
+    int transformCount = Math.min(gameDescription.getTransforms().size(), 4);
     matrixTextFields = new TextField[transformCount][4];
     vectorTextFields = new TextField[transformCount * 2];
 
@@ -49,47 +41,37 @@ public class Affine2DPopup extends AbstractPopup {
       vectorTextFields[2 * i + 1].setPrefWidth(50);
     }
 
-      // Add labels and text fields to GridPane
-      VBox matrixVBox = new VBox(10);
-      for (int i = 0; i < transformCount; i++) {
-        GridPane matrixGridPane = new GridPane();
-        matrixGridPane.setHgap(10);
-        matrixGridPane.setVgap(10);
-        matrixGridPane.setPadding(new Insets(10));
-
-        matrixGridPane.add(new Label("Matrix " + (i + 1) + " Row 1: "), 0, 0);
-        matrixGridPane.add(matrixTextFields[i][0], 1, 0);
-        matrixGridPane.add(matrixTextFields[i][1], 2, 0);
-
-        matrixGridPane.add(new Label("Matrix " + (i + 1) + " Row 2: "), 0, 1);
-        matrixGridPane.add(matrixTextFields[i][2], 1, 1);
-        matrixGridPane.add(matrixTextFields[i][3], 2, 1);
-
-        matrixGridPane.add(new Label("Vector " + (i + 1) + ": "), 0, 2);
-        matrixGridPane.add(vectorTextFields[2 * i], 1, 2);
-        matrixGridPane.add(vectorTextFields[2 * i + 1], 2, 2);
-
-        matrixVBox.getChildren().add(matrixGridPane);
-      }
+    VBox matrixVBox = new VBox(10);
+    for (int i = 0; i < transformCount; i++) {
+      GridPane matrixGridPane = new GridPane();
+      matrixGridPane.setHgap(10);
+      matrixGridPane.setVgap(10);
+      matrixGridPane.setPadding(new Insets(10));
 
-      // Add the GridPanes to the layout
-      layout.getChildren().addAll(matrixVBox);
+      matrixGridPane.add(new Label("Matrix " + (i + 1) + " Row 1: "), 0, 0);
+      matrixGridPane.add(matrixTextFields[i][0], 1, 0);
+      matrixGridPane.add(matrixTextFields[i][1], 2, 0);
 
-      // Add bottomLayout to the end
-      layout.getChildren().add(bottomLayout);
+      matrixGridPane.add(new Label("Matrix " + (i + 1) + " Row 2: "), 0, 1);
+      matrixGridPane.add(matrixTextFields[i][2], 1, 1);
+      matrixGridPane.add(matrixTextFields[i][3], 2, 1);
 
-      // Set the title for the popup window
-      popupModifyStage.setTitle("Affine2D Modification");
+      matrixGridPane.add(new Label("Vector " + (i + 1) + ": "), 0, 2);
+      matrixGridPane.add(vectorTextFields[2 * i], 1, 2);
+      matrixGridPane.add(vectorTextFields[2 * i + 1], 2, 2);
 
-      // Display the current values from ChaosGameDescription
-      displayCurrentValues(gameDescription);
+      matrixVBox.getChildren().add(matrixGridPane);
+    }
 
-      // Display the popup
-      display();
+    layout.getChildren().addAll(matrixVBox);
+    layout.getChildren().add(bottomLayout);
+    popupModifyStage.setTitle("Affine2D Modification");
+    displayCurrentValues(gameDescription);
+    display();
   }
 
   /**
-   * Display the current values from the ChaosGameDescription in the text fields.
+   * Displays the current values from the ChaosGameDescription in the text fields.
    *
    * @param gameDescription the ChaosGameDescription to display values from.
    */
@@ -117,20 +99,20 @@ public class Affine2DPopup extends AbstractPopup {
   }
 
   /**
-   * Get the matrix text fields.
+   * Gets the matrix text fields.
    *
    * @return the matrix text fields.
    */
   public TextField[][] getMatrixTextFields() {
-      return matrixTextFields;
+    return matrixTextFields;
   }
 
   /**
-   * Get the vector text fields.
+   * Gets the vector text fields.
    *
    * @return the vector text fields.
    */
   public TextField[] getVectorTextFields() {
-      return vectorTextFields;
+    return vectorTextFields;
   }
 }
diff --git a/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/JuliaPopup.java b/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/JuliaPopup.java
index 798cc8c1cbf293c51e099ff021eab7ebda533512..ecc3e30a0562dae0ff25afd19271603322f7e0dd 100644
--- a/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/JuliaPopup.java
+++ b/src/main/java/edu/ntnu/stud/chaosgame/view/modificationpopups/JuliaPopup.java
@@ -13,14 +13,7 @@ import edu.ntnu.stud.chaosgame.model.transformations.JuliaTransform;
  */
 public class JuliaPopup extends AbstractPopup {
 
-  /**
-   * The text field for the real part of the complex number.
-   */
   private final TextField realPartTextField;
-
-  /**
-   * The text field for the imaginary part of the complex number.
-   */
   private final TextField imagPartTextField;
 
   /**
@@ -31,11 +24,9 @@ public class JuliaPopup extends AbstractPopup {
   public JuliaPopup(ChaosGameDescription gameDescription) {
     super(AbstractPopup.initializeLayout());
 
-    // Initialize the TextFields
     realPartTextField = createNumericTextField();
     imagPartTextField = createNumericTextField();
 
-    // Add labels and text fields to a GridPane for better formatting
     GridPane complexNumberGridPane = new GridPane();
     complexNumberGridPane.setHgap(10);
     complexNumberGridPane.setVgap(10);
@@ -47,26 +38,17 @@ public class JuliaPopup extends AbstractPopup {
     complexNumberGridPane.add(new Label("Imaginary Part: "), 0, 1);
     complexNumberGridPane.add(imagPartTextField, 1, 1);
 
-    // Add the GridPane to the layout
     layout.getChildren().add(complexNumberGridPane);
-
-    // Add bottomLayout to the end
     layout.getChildren().add(bottomLayout);
-
-    // Set the title for the popup window
     popupModifyStage.setTitle("Julia Set Modification");
-
-    // Display the current values from ChaosGameDescription
     displayCurrentValues(gameDescription);
-
-    // Display the popup
     display();
   }
 
   /**
-   * Display the current values from the ChaosGameDescription.
+   * Displays the current values from the ChaosGameDescription.
    *
-   * @param gameDescription the chaos game description to be modified.
+   * @param gameDescription the ChaosGameDescription to display values from.
    */
   private void displayCurrentValues(ChaosGameDescription gameDescription) {
     if (gameDescription != null) {
@@ -84,22 +66,24 @@ public class JuliaPopup extends AbstractPopup {
   }
 
   /**
-   * Get the real part text field.
+   * Gets the real part text field.
    *
    * @return the real part text field.
    */
   public TextField getRealPartTextField() {
-      return realPartTextField;
+    return realPartTextField;
   }
 
   /**
-   * Get the imaginary part text field.
+   * Gets the imaginary part text field.
    *
    * @return the imaginary part text field.
    */
   public TextField getImagPartTextField() {
-      return imagPartTextField;
+    return imagPartTextField;
   }
 }
 
 
+
+