diff --git a/src/main/java/org/example/chaosgame/controller/ChaosGameController.java b/src/main/java/org/example/chaosgame/controller/ChaosGameController.java
index 3d31aa1e53a8ad5a859e4ad9188d4bcea04d7991..dbe2bfd9e62317ba551ba099c0d1e2bb2ca21d88 100644
--- a/src/main/java/org/example/chaosgame/controller/ChaosGameController.java
+++ b/src/main/java/org/example/chaosgame/controller/ChaosGameController.java
@@ -1,12 +1,9 @@
 package org.example.chaosgame.controller;
 
-import javafx.scene.Node;
 import javafx.scene.canvas.Canvas;
 import javafx.scene.control.*;
 
-import javafx.scene.layout.HBox;
 import javafx.scene.layout.StackPane;
-import javafx.scene.layout.VBox;
 import javafx.scene.paint.Color;
 import javafx.stage.FileChooser;
 import javafx.util.Pair;
@@ -15,14 +12,13 @@ import org.example.chaosgame.controller.observer.Subject;
 import org.example.chaosgame.controller.observer.GameController;
 import org.example.chaosgame.model.chaos.*;
 import org.example.chaosgame.model.linalg.Complex;
+import org.example.chaosgame.model.linalg.Matrix2x2;
 import org.example.chaosgame.model.linalg.Vector2D;
 import org.example.chaosgame.model.transformations.AffineTransform2D;
 import org.example.chaosgame.model.transformations.JuliaTransform;
 import org.example.chaosgame.model.transformations.Transform2D;
 import org.example.chaosgame.view.ChaosPage;
-import org.example.chaosgame.view.components.AlertUtility;
-import org.example.chaosgame.view.components.CreateFractalDialog;
-import org.example.chaosgame.view.components.MinMaxDialog;
+import org.example.chaosgame.view.components.*;
 
 import java.io.File;
 import java.io.IOException;
@@ -89,16 +85,13 @@ public class ChaosGameController implements Observer, Subject, GameController {
 
   public void setMaxMinCoords() {
     MinMaxDialog dialog = new MinMaxDialog();
-    Optional<Pair<String, String>> result = dialog.showAndWait();
+    Optional<List<String>> result = dialog.showAndWait();
 
     if (result.isPresent()) {
-      Pair<String, String> minMax = result.get();
-      String[] minCoords = minMax.getKey().split(",");
-      String[] maxCoords = minMax.getValue().split(",");
-
       try {
-        Vector2D min = new Vector2D(Double.parseDouble(minCoords[0]), Double.parseDouble(minCoords[1]));
-        Vector2D max = new Vector2D(Double.parseDouble(maxCoords[0]), Double.parseDouble(maxCoords[1]));
+        List<String> coords = result.get();
+        Vector2D min = new Vector2D(Double.parseDouble(coords.get(0)), Double.parseDouble(coords.get(1)));
+        Vector2D max = new Vector2D(Double.parseDouble(coords.get(2)), Double.parseDouble(coords.get(3)));
 
         if (validateCoordinates(min) && validateCoordinates(max)) {
           updateChaosGame(new ChaosGameDescription(
@@ -108,13 +101,18 @@ public class ChaosGameController implements Observer, Subject, GameController {
           AlertUtility.showErrorDialog("Invalid input", "Please enter a double between -50 and 50.");
         }
       } catch (NumberFormatException e) {
+
         AlertUtility.showErrorDialog("Invalid input", "Please enter a valid number.");
+      } catch (IndexOutOfBoundsException e) {
+        AlertUtility.showErrorDialog("Invalid input", "Please enter all coordinates.");
       }
+
     }
   }
 
   private boolean validateCoordinates(Vector2D vector) {
     try {
+      System.out.println("parsing" + vector.getX() + " " + vector.getY());
       double x = vector.getX();
       double y = vector.getY();
       if (x < -50 || x > 50 || y < -50 || y > 50) {
@@ -164,6 +162,21 @@ public class ChaosGameController implements Observer, Subject, GameController {
                 transforms));
       } else if (fractalData instanceof Pair) {
         Pair<String, String> userInput = (Pair<String, String>) fractalData;
+        try { // Check if the input is a valid number
+          double real = Double.parseDouble(userInput.getKey());
+          double imaginary = Double.parseDouble(userInput.getValue());
+
+          if (real < -1 || real > 1 || imaginary < -1 || imaginary > 1) {
+            AlertUtility.showErrorDialog("Invalid input", "Please enter a double between -1 and 1. No letters are allowed.");
+          } else {
+            updateChaosGame(new ChaosGameDescription(
+                    new Vector2D(-1.6, -1),
+                    new Vector2D(1.6, 1.0),
+                    List.of(new JuliaTransform(new Complex(real, imaginary), 1))));
+          }
+        } catch (NumberFormatException e) {
+          AlertUtility.showErrorDialog("Invalid input", "Please enter a valid number.");
+        }
         double real = Double.parseDouble(userInput.getKey());
         double imaginary = Double.parseDouble(userInput.getValue());
 
@@ -210,7 +223,6 @@ public class ChaosGameController implements Observer, Subject, GameController {
 
   public void resetGame() {
     chaosGame.resetTotalSteps();
-    //chaosGame.setChaosGameDescription(null);
     update();
     chaosPage.clearCanvas();
   }
diff --git a/src/main/java/org/example/chaosgame/view/components/CreateAffinePane.java b/src/main/java/org/example/chaosgame/view/components/CreateAffinePane.java
index 2d2c245941114db9fbac1f9316313086c7f31ffc..f439278a2c1c5277c8baad5d1db2fcada8f71d48 100644
--- a/src/main/java/org/example/chaosgame/view/components/CreateAffinePane.java
+++ b/src/main/java/org/example/chaosgame/view/components/CreateAffinePane.java
@@ -7,9 +7,6 @@ import javafx.scene.control.Button;
 import javafx.scene.control.TextField;
 import javafx.scene.layout.GridPane;
 import javafx.scene.layout.HBox;
-import org.example.chaosgame.model.linalg.Matrix2x2;
-import org.example.chaosgame.model.linalg.Vector2D;
-import org.example.chaosgame.model.transformations.AffineTransform2D;
 
 /**
  * Pane for creating affine transformations.
@@ -100,23 +97,15 @@ public class CreateAffinePane extends GridPane {
     this.getChildren().remove(lastVectorBox);
   }
 
-  /**
-   * Returns the list of affine transformations created in the pane.
-   *
-   * @return The list of affine transformations.
-   */
-  public List<AffineTransform2D> getResult() {
-    List<AffineTransform2D> transformations = new ArrayList<>();
-    for (List<TextField> fields : lines) {
-      double a = Double.parseDouble(fields.get(0).getText());
-      double b = Double.parseDouble(fields.get(1).getText());
-      double c = Double.parseDouble(fields.get(2).getText());
-      double d = Double.parseDouble(fields.get(3).getText());
-      double x = Double.parseDouble(fields.get(4).getText());
-      double y = Double.parseDouble(fields.get(5).getText());
-
-      transformations.add(new AffineTransform2D(new Matrix2x2(a, b, c, d), new Vector2D(x, y)));
+  public List<List<String>> getResult() {
+    List<List<String>> result = new ArrayList<>();
+    for (List<TextField> line : lines) {
+      List<String> lineResult = new ArrayList<>();
+      for (TextField field : line) {
+        lineResult.add(field.getText());
+      }
+      result.add(lineResult);
     }
-    return transformations;
+    return result;
   }
 }
\ No newline at end of file
diff --git a/src/main/java/org/example/chaosgame/view/components/CreateFractalDialog.java b/src/main/java/org/example/chaosgame/view/components/CreateFractalDialog.java
index 814a4e9388902a32c3eb77100a831fd3869ff49a..e9ed761b27914b87b415b0d732aa5be0a09ed983 100644
--- a/src/main/java/org/example/chaosgame/view/components/CreateFractalDialog.java
+++ b/src/main/java/org/example/chaosgame/view/components/CreateFractalDialog.java
@@ -1,11 +1,7 @@
 package org.example.chaosgame.view.components;
 
 import javafx.geometry.Insets;
-import javafx.scene.control.ButtonType;
-import javafx.scene.control.Dialog;
-import javafx.scene.control.RadioButton;
-import javafx.scene.control.ButtonBar;
-import javafx.scene.control.ToggleGroup;
+import javafx.scene.control.*;
 import javafx.scene.layout.HBox;
 import javafx.scene.layout.StackPane;
 import javafx.scene.layout.VBox;
diff --git a/src/main/java/org/example/chaosgame/view/components/MinMaxDialog.java b/src/main/java/org/example/chaosgame/view/components/MinMaxDialog.java
index 29492ce66c18ad7d14034afaa22d132c6eee2d61..57d2605335844b1d5a8afd19052461204b9b0225 100644
--- a/src/main/java/org/example/chaosgame/view/components/MinMaxDialog.java
+++ b/src/main/java/org/example/chaosgame/view/components/MinMaxDialog.java
@@ -5,8 +5,11 @@ import javafx.scene.control.Dialog;
 import javafx.scene.control.TextField;
 import javafx.scene.layout.GridPane;
 import javafx.util.Pair;
+import org.example.chaosgame.model.linalg.Vector2D;
 
-public class MinMaxDialog extends Dialog<Pair<String, String>> {
+import java.util.List;
+
+public class MinMaxDialog extends Dialog<List<String>> {
   private final TextField minXField;
   private final TextField minYField;
   private final TextField maxXField;
@@ -46,7 +49,7 @@ public class MinMaxDialog extends Dialog<Pair<String, String>> {
         String minY = minYField.getText();
         String maxX = maxXField.getText();
         String maxY = maxYField.getText();
-        return new Pair<>(minX + "," + minY, maxX + "," + maxY);
+        return List.of(minX, minY, maxX, maxY);
       }
       return null;
     });