diff --git a/src/main/java/edu/ntnu/idatt2003/model/ChaosGameDescription.java b/src/main/java/edu/ntnu/idatt2003/model/ChaosGameDescription.java
index a03a51314f934c7d44f1096b3f86c7b485553b51..3bc144bf719efb08eeb0086a6bda013441f6b59a 100644
--- a/src/main/java/edu/ntnu/idatt2003/model/ChaosGameDescription.java
+++ b/src/main/java/edu/ntnu/idatt2003/model/ChaosGameDescription.java
@@ -1,6 +1,7 @@
 package edu.ntnu.idatt2003.model;
 
 import java.util.List;
+import java.util.Objects;
 
 public class ChaosGameDescription {
   private Vector2D minCoords;
@@ -25,4 +26,20 @@ public class ChaosGameDescription {
     return maxCoords;
   }
 
+  @Override
+  public String toString() {
+    StringBuilder result = new StringBuilder(transforms.getFirst().getTransformType() + " # Type of transform" + "\n" +
+      minCoords.getX0() + ", " + minCoords.getX1() + " # Lower left" + "\n" +
+      maxCoords.getX0() + ", " + maxCoords.getX1() + " # Upper right");
+
+    if (Objects.equals(transforms.getFirst().getTransformType(), "Julia")) {
+      result.append("\n").append(transforms.getFirst().toFormattedString());
+    } else if (Objects.equals(transforms.getFirst().getTransformType(), "Affine2D")) {
+      for (Transform2D transform : transforms) {
+        result.append("\n").append(transform.toFormattedString());
+      }
+    }
+    return result.toString();
+  }
 }
+
diff --git a/src/main/java/edu/ntnu/idatt2003/model/ChaosGameDescriptionFactory.java b/src/main/java/edu/ntnu/idatt2003/model/ChaosGameDescriptionFactory.java
index 8b58cc1e5de827d3849b9e223a433094b09f225e..34e4cd7f291f37a017146b9cf1930d57a3268451 100644
--- a/src/main/java/edu/ntnu/idatt2003/model/ChaosGameDescriptionFactory.java
+++ b/src/main/java/edu/ntnu/idatt2003/model/ChaosGameDescriptionFactory.java
@@ -46,8 +46,9 @@ public class ChaosGameDescriptionFactory {
    * @return a ChaosGameDescription for the Julia set
    */
   public static ChaosGameDescription createJuliaSet(Complex c, int sign) {
-    JuliaTransform[] transforms = new JuliaTransform[1];
+    JuliaTransform[] transforms = new JuliaTransform[2];
     transforms[0] = new JuliaTransform(c, sign);
+    transforms[1] = new JuliaTransform(c, -sign);
     Vector2D lowerLeft = new Vector2D(-1.6, -1.0);
     Vector2D upperRight = new Vector2D(1.6, 1.0);
 
diff --git a/src/main/java/edu/ntnu/idatt2003/model/ChaosGameFileHandler.java b/src/main/java/edu/ntnu/idatt2003/model/ChaosGameFileHandler.java
index 6ac917ef96026917d02cac91e8d01254af953fc3..3dd33e2ea72f52377fb31bfb0332726b062af652 100644
--- a/src/main/java/edu/ntnu/idatt2003/model/ChaosGameFileHandler.java
+++ b/src/main/java/edu/ntnu/idatt2003/model/ChaosGameFileHandler.java
@@ -40,11 +40,11 @@ public class ChaosGameFileHandler {
           Transform2D transform = null;
           assert type != null;
           if (type.equals("Julia")) {
-            transform = parseJulia(line.split("#")[0].trim());
+            transforms = parseJulia(line.split("#")[0].trim());
           } else {
             transform = parseAffineTransform(line.split("#")[0].trim());
-          }
             transforms.add(transform);
+          }
 
         } catch (IllegalArgumentException e) {
           System.err.println("Error parsing transform from line: " + line);
@@ -98,32 +98,29 @@ public class ChaosGameFileHandler {
     }
   }
 
-  private JuliaTransform parseJulia(String line) {
+//  private JuliaTransform parseJulia(String line) {
+//    String[] parts = line.split(",");
+//    return new JuliaTransform(
+//      new Complex(Double.parseDouble(parts[0].trim()), Double.parseDouble(parts[1].trim())),
+//      1);
+//  }
+
+  private List<Transform2D> parseJulia(String line) {
     String[] parts = line.split(",");
-    return new JuliaTransform(
+    List<Transform2D> juliaTransforms = new ArrayList<>();
+    juliaTransforms.add(new JuliaTransform(
+      new Complex(Double.parseDouble(parts[0].trim()), Double.parseDouble(parts[1].trim())),
+      1));
+    juliaTransforms.add(new JuliaTransform(
       new Complex(Double.parseDouble(parts[0].trim()), Double.parseDouble(parts[1].trim())),
-      1);
+      -1));
+    return juliaTransforms;
   }
 
 
   public void writeToFile(String filePath, ChaosGameDescription description) throws IOException {
     try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
-      writer.write(description.getTransforms().getFirst().getTransformType() + " # Type of transform");
-      writer.newLine();
-      Vector2D minCoords = description.getMinCoords();
-      Vector2D maxCoords = description.getMaxCoords();
-      List<Transform2D> transforms = description.getTransforms();
-
-      writer.write(minCoords.getX0() + ", " + minCoords.getX1() + " # Lower left");
-      writer.newLine();
-
-      writer.write(maxCoords.getX0() + ", " + maxCoords.getX1() + " # Upper right");
-      writer.newLine();
-
-      for (Transform2D transform : transforms) {
-        writer.write(transform.toFormattedString() );
-        writer.newLine();
-      }
+      writer.write(description.toString());
     } catch (IOException e) {
       System.out.println("An error occurred: " + e.getMessage());
     }
diff --git a/src/test/java/edu/ntnu/idatt2003/model/ChaosGameDescriptionFactoryTest.java b/src/test/java/edu/ntnu/idatt2003/model/ChaosGameDescriptionFactoryTest.java
index a4fc4cdb4bb83a71954772777eca71e411778931..8f0b7a655a2cecad71e7f2446d065f2fcd3e4c52 100644
--- a/src/test/java/edu/ntnu/idatt2003/model/ChaosGameDescriptionFactoryTest.java
+++ b/src/test/java/edu/ntnu/idatt2003/model/ChaosGameDescriptionFactoryTest.java
@@ -26,7 +26,7 @@ public class ChaosGameDescriptionFactoryTest {
     Complex c = new Complex(0.285, 0.01);
     ChaosGameDescription description = ChaosGameDescriptionFactory.createJuliaSet(c, 1);
     assertNotNull(description);
-    assertEquals(1, description.getTransforms().size());
+    assertEquals(2, description.getTransforms().size());
     assertInstanceOf(JuliaTransform.class, description.getTransforms().getFirst());
   }
 }
\ No newline at end of file