diff --git a/lib/gat/modes/digitalocean_discovery/config.go b/lib/gat/modes/digitalocean_discovery/config.go
index e24ddb86169b61c44d198544ad9d73223d0c051c..f09a0472cd59ab211f0374433cfe71587ef8a987 100644
--- a/lib/gat/modes/digitalocean_discovery/config.go
+++ b/lib/gat/modes/digitalocean_discovery/config.go
@@ -134,7 +134,7 @@ func (T *Config) ListenAndServe() error {
 					addr = net.JoinHostPort(cluster.Connection.Host, strconv.Itoa(cluster.Connection.Port))
 				}
 
-				p.AddRecipe("do", recipe.NewRecipe(recipe.Options{
+				p.AddRecipe(cluster.Name, recipe.NewRecipe(recipe.Options{
 					Dialer: dialer.Net{
 						Network:       "tcp",
 						Address:       addr,
@@ -163,7 +163,7 @@ func (T *Config) ListenAndServe() error {
 							replicaAddr = net.JoinHostPort(replica.Connection.Host, strconv.Itoa(replica.Connection.Port))
 						}
 
-						p2.AddRecipe("do", recipe.NewRecipe(recipe.Options{
+						p2.AddRecipe(replica.Name, recipe.NewRecipe(recipe.Options{
 							Dialer: dialer.Net{
 								Network:       "tcp",
 								Address:       replicaAddr,
@@ -172,8 +172,8 @@ func (T *Config) ListenAndServe() error {
 						}))
 					}
 
-					pools.Add(user.Name+"_ro", dbname, p2)
-					log.Printf("registered database user=%s database=%s", user.Name+"_ro", dbname)
+					pools.Add(creds2.Username, dbname, p2)
+					log.Printf("registered database user=%s database=%s", creds2.Username, dbname)
 				}
 			}
 		}
diff --git a/lib/gat/pool/pool.go b/lib/gat/pool/pool.go
index 5d093d1e2eac9af8e8a65554df27a522ce9edbab..30d654239f47820c9419c4bda09e61f2cf142bfb 100644
--- a/lib/gat/pool/pool.go
+++ b/lib/gat/pool/pool.go
@@ -147,6 +147,9 @@ func (T *Pool) removeRecipe(name string) {
 }
 
 func (T *Pool) scaleUp() {
+	log.Printf("scaling up")
+	defer log.Printf("finished scaling up")
+
 	backoff := T.options.ServerReconnectInitialTime
 	backingOff := false
 
@@ -206,6 +209,8 @@ func (T *Pool) scaleUp() {
 			backingOff = true
 		}
 
+		log.Printf("failed to dial server. trying again in %v", backoff)
+
 		time.Sleep(backoff)
 
 		backoff *= 2
@@ -356,7 +361,7 @@ func (T *Pool) ServeBot(
 	return T.serve(client, true)
 }
 
-func (T *Pool) serve(client *Client, initialize bool) error {
+func (T *Pool) serve(client *Client, initialized bool) error {
 	T.addClient(client)
 	defer T.removeClient(client)
 
@@ -375,7 +380,7 @@ func (T *Pool) serve(client *Client, initialize bool) error {
 		}
 	}()
 
-	if !initialize {
+	if !initialized {
 		server = T.acquireServer(client)
 
 		err, serverErr = Pair(T.options, client, server)
@@ -396,7 +401,7 @@ func (T *Pool) serve(client *Client, initialize bool) error {
 	for {
 		if server != nil && T.options.ReleaseAfterTransaction {
 			client.SetState(metrics.ConnStateIdle, uuid.Nil)
-			T.releaseServer(server) // TODO(garet) does this need to be a goroutine
+			T.releaseServer(server)
 			server = nil
 		}