   (do-release client))
 
 (defn connect
-  ([app opts] (connect default-client app opts))
+  ([app opts]
+     (default-client app opts))
   ([client app opts]
-     (do-connect client app opts)
-     true))
+     (client app opts)))

     (fn [_]
       (.releaseExternalResources (.bootstrap client)))))

  PooledClient
  (do-connect [client app opts]
    (pool/connect
     (.pool client) app opts
     #(do-connect (.basic-client client) % opts)))

  (do-release [client]
    (do-release (.basic-client client))))

(defn- basic-client
  [opts]

  (do-connect  [_ app opts])
  (do-release  [_]))

(defrecord BasicClient  [channel-group bootstrap]
  Client
  (do-connect [client app {host :host port :port :as opts}]
    (let [addr     (mk-socket-addr [host port])
          ch-group (.channel-group client)
