         idprefix (s/join ["#kb-" id kwstring])
         idlist (vec (map #(keyword (s/join [idprefix (str %)])) (range len)))
         root (get-in @melody-map [id :root])
+        panel (select root [:#kb])
         circhash (atom {})]
+    ;(println idlist)
     (doseq [k idlist]
-      (let [w (select root [k])]
-        ;(println w)
+      (let [w (select panel [k])]
         (swap! circhash assoc k (value w))
-        (remove! root w)))
+        (remove! panel w)))
     @circhash))
 
 (defn change-circle-mel [id newnum]
   (let [root (get-in @melody-map [id :root])
+        panel (select root [:#kb])
         rhyvals (remove-circle id :beats)
         len (get-in @melody-map [id :beats])
         idprefix (s/join ["#kb-" id "-rhy-"])
         kwlist (vec (map #(keyword (s/join [idprefix (str %)])) (range len)))]
     (remove-circle id :pitches)
     (swap! melody-map assoc-in [id :pitches] newnum)
-    (config! root :items (concat (make-note-circle-mel id) (make-note-circle-rhy id)))
+    (config! panel :items (concat (make-note-circle-mel id) (make-note-circle-rhy id)))
     (doseq [kw kwlist]
-      (value! (select root [kw]) (get rhyvals kw)))
+      (value! (select panel [kw]) (get rhyvals kw)))
     ))
         
 (defn change-circle-rhy [id newnum]
   (let [root (get-in @melody-map [id :root])
+        panel (select root [:#kb])
         melvals (remove-circle id :pitches)
         len (get-in @melody-map [id :pitches])
         idprefix (s/join ["#kb-" id "-mel-"])
         kwlist (vec (map #(keyword (s/join [idprefix (str %)])) (range len)))]
     (remove-circle id :beats)
     (swap! melody-map assoc-in [id :beats] newnum)
-    (config! root :items (concat (make-note-circle-mel id) (make-note-circle-rhy id)))
+    (config! panel :items (concat (make-note-circle-mel id) (make-note-circle-rhy id)))
     (doseq [kw kwlist]
-      (value! (select root [kw]) (get melvals kw)))
+      (value! (select panel [kw]) (get melvals kw)))
     ))
         
 (defn make-panel-controls [id]
   (let [cbp (combobox :model (range 1 10)
+                      :id (keyword (s/join ["kb-" (str id) "-numpitch"]))
                       :listen [:action
                                (fn [e]
                                  (change-circle-mel id (value (.getSource e))))])
         cbb (combobox :model (range 1 10)
+                      :id (keyword (s/join ["kb-" (str id) "-numbeats"]))
                       :listen [:action
                                (fn [e]
                                  (change-circle-rhy id (value (.getSource e))))])]

                           (button :id :newPanel
                                   :text "New Panel"
                                   :listen [:action new-panel])
                           ;; spacer
                           (label :text ""
                                  :size [100 :by 30])

        mel-prefix (s/join ["#kb-" id "-mel-"])
        mel-len (get-in @melody-map [id :pitches])
        root (get-in @melody-map [id :root])
        panel (select root [:#kb])
        mel-pattern (map #(value (select panel [(keyword (s/join [mel-prefix %]))]))
                         (range mel-len))
        rhy-seq (map #(value (select panel [(keyword (s/join [rhy-prefix %]))]))
                     (range (get-in @melody-map [id :beats])))
        rhy-pattern (str-pattern->rhythm rhy-seq)
        rhy-len (count (filter #(> % 0) rhy-pattern))
