 
 (defn -init []
   "Sets Initial State"
-  [["Levy Curve Generator"] (atom {:path [[100 250] [400 250]], :angle 45, :iterations 15, :color 65330})]
+  [["Levy Curve Generator"] (atom {:path [], :angle 45, :iterations 15, :color 16711680})]
   )
 
 (defn -setup [ui]
   "Setup UI components, listeners"
   (let [screen-size (.getScreenSize (Toolkit/getDefaultToolkit))
-        width (.width screen-size)
-        height (.height screen-size)
+        width (- (.width screen-size) 400)
+        height (- (.height screen-size) 100)
         comp-size (Dimension. 100 20) ;Component Size
         components {:angle-label (JLabel. "Angle")
                     :angle (JTextField. "45")
-                    :iterations-label (JLabel. "Number of Iterations(Max 15)")
-                    :iterations (JTextField. "14")
                     :step (JButton. "Step")
-                    :start (JButton. "Start")
-                    :save (JButton. "Save")}
+                    :save (JButton. "Save")
+                    :reset (JButton. "Reset")}
         create-listener (fn [f & args]
                           (proxy [ActionListener] []
                             (actionPerformed [e]
                               (apply f args)))
                           )
-        actions {:start (create-listener -start)
-                 :step (create-listener -step ui)
+        actions {:step (create-listener -step ui)
+                 :reset (create-listener -reset ui true)
+                 :save (create-listener -save ui)
                  }
-        img (BufferedImage. width (- height 50) BufferedImage/TYPE_INT_RGB)
+        img (BufferedImage. width height BufferedImage/TYPE_INT_RGB)
         graphics (.createGraphics img)
         ]
     (doto ui ;Set size and add state

   :methods [
             [setState [clojure.lang.Keyword Object] void]
             [getState [clojure.lang.Keyword] Object]
             ]
   :exposes-methods {paint superpaint}
   :extends javax.swing.JFrame
   )
  (:import
   (javax.swing JButton JTextField JLabel)
   (java.awt Toolkit Dimension Color FlowLayout)
   (java.awt.event ActionListener)
   (java.awt.image BufferedImage)
   )
  (:require [levycurve.core :as fractal])

(declare -paint)
(declare -set-state)
(declare -get-state)
(declare -reset)
(declare -save)

(defn -main
  [& args]
