       (event [scn evt x y]
 	(condp = evt
 	   GWindow/BUTTON1_DOWN
-	   (let [thing (.findSegment scn x y)]
-	     (when (.getUserData thing)
+	   (let [thing (.find scn x y)]
+	     (when (node? thing)
 	       (dosync
 		(ref-set interaction-obj thing)
 		(ref-set x0 x)

	   (let [dx (- x @x0)
		 dy (- y @y0)]
	     (when @interaction-obj
	       (.translate @interaction-obj dx dy)
	       (doseq [c (:upper @(.getUserData @interaction-obj))]
		 (let [c1 (aget (.getX c) 0)
		       c2 (aget (.getY c) 0)
		       d1 (aget (.getX c) 1)
		       d2 (aget (.getY c) 1)]
		   (.setGeometry c (+ c1 dx) (+ c2 dy) d1 d2)))
	       (doseq [c (:lower @(.getUserData @interaction-obj))]
		 (let [c1 (aget (.getX c) 0)
		       c2 (aget (.getY c) 0)
		       d1 (aget (.getX c) 1)
		       d2 (aget (.getY c) 1)]

	    (ref-set interaction-obj nil))
	   nil)))))

(defn show-some-picture []
  (let [wnd (GWindow.)
	scn (GScene. wnd)
