             current-state)
         2 (let [p1 (:p1 current-state)
                 p2 (:p2 current-state)
+                p3 value
                 base (geom/altitude p1 p2 value)]
             (draw-line p1 p2 draw-chan #{:extended} :red)
-            (draw-line p2 value draw-chan nil :red)
-            (draw-line value p1 draw-chan nil :red)
-            (draw-line value base draw-chan nil :red)
+            (draw-line p2 p3 draw-chan nil :green)
+            (draw-line p3 p1 draw-chan nil :blue)
+            (draw-line p3 base draw-chan nil :yellow)
             current-state)))
     :click
     (condp = (:step current-state)

                             (dt/point value)]))
          {:step 1 :p1 value}) 
      1 (let [p1 (:p1 current-state)
              line (dt/line [p1 value])
              _ (println "line: " line)]
          (go (>! out [:draw :triangle draw-chan]))
          {:step 2 :p1 p1 :p2 value})
      2 (let [p1 (:p1 current-state)
              p2 (:p2 current-state)
              triangle (dt/triangle p1 p2 value)
              _ (println "triangle: " triangle)]
          (go (>! out triangle)
              (>! out [:draw :triangle draw-chan]))
          {:step 0}))))

                             (dt/point value)]))
          {:step 1 :p1 value}) 
      1 (let [p1 (:p1 current-state)
              circle (dt/circle p1 (geom/distance p1 value))]
          (go (>! out circle)
              (>! out [:draw :circle draw-chan]))
          {:step 0}))))
