   "renders the autocomplete component given a list of items to display
   and a selected item channel
   the number of items rendered is limited to size items"
-  [size itemsref textvalue chan-selecteditems chan-focus]
+  [size itemsref textvalue chan-selecteditems chan-focus chan-log]
   (let [ref-focus-item (atom -1)]
-        (handle-autocompleteitemselected chan-selecteditems itemsref textvalue)
+        (handle-autocompleteitemselected chan-selecteditems itemsref textvalue chan-log)
         (handle-autocomplete-focus chan-focus itemsref ref-focus-item)
     (fn []
       (if-not (empty? @itemsref)

         :on-change #(put! chan-textvalue (-> % .-target .-value))
         :on-key-up #(put! chan-keys (-> % .-which))}]
       [:span.input-group-addon.glyphicon.glyphicon-search]
       [autocomplete-component (:autocomplete-size props) autocomplete-items textvalue chan-selecteditems chan-focus]])))

(defn mount-search
  "mounts the search component with data props at dom-id"

  "handles autocomplete item selected by
  1. logging selected item
  2. resetting the text input value
  3. removing the autocomplete panel
  4. logs the selected component"
  [chan-selecteditems ref-items ref-textvalue chan-log]
  (go-loop
   []
   (let [sel (<! chan-selecteditems)]
     (reset! ref-textvalue sel)
     (reset! ref-items [])
     (slogger/info-message chan-log (str "selected value:" sel)))
   (recur)))

(defn- handle-autocomplete-focus
