     )
   )
 (defn -save [ui]
-  (ImageIO/write (.getState ui :img) "png" (File. "Fractal.png"))
+  (let
+      [fc (JFileChooser.)
+       ret (.showSaveDialog fc ui)
+       ]
+    (if (= ret JFileChooser/APPROVE_OPTION)
+      (ImageIO/write (.getState ui :img) "png" (.getSelectedFile fc))
+      )
+    )
   )
 (defn -reset [this & clearpath]
   (let [

   :extends javax.swing.JFrame
   )
  (:import
   (javax.swing JButton JTextField JLabel JOptionPane)
   (java.io File)
   (javax.imageio ImageIO)
   (javax.swing.event DocumentListener)

    (.flush img)
    (.setColor graphics Color/black)
    (.fillRect graphics 0 0 (.getWidth img) (.getHeight img))
    (.setColor graphics Color/red)
    (.repaint this)
    )
  (if clearpath
