   [num-channels]
   (let [conn (rmq/connect)
         channels (doall (for [_ (range num-channels)]
-                          (lch/open conn)))]
+                          (let [ch (lch/open conn)]
+                            (le/declare ch exchange-name "direct")
+                            ch)))]
 
     (->MessageConsumer conn channels false)))
 

(comment
  (let [conn (rmq/connect)
        ch (lch/open conn)]
    (lb/publish ch "" queue-name "Hi!" {:content-type "text/plain" :type "index-concept"}))


  )

  ;; prevents this.
  (lb/qos ch 1)
  (lq/declare ch queue-name {:exclusive false :auto-delete false})
  (lq/bind ch queue-name exchange-name {:routing-key queue-name})
  (lc/subscribe ch queue-name message-handler {:auto-ack false}))

(defrecord MessageConsumer
  [
