diff --git a/acceptance/05-list-images.go b/acceptance/05-list-images.go
index 211a5ed..b28b3f5 100644
--- a/acceptance/05-list-images.go
+++ b/acceptance/05-list-images.go
@@ -10,39 +10,21 @@
 var rgn = flag.String("r", "DFW", "Datacenter region to interrogate.")
 
 func main() {
-	provider, username, password := getCredentials()
 	flag.Parse()
 
-	auth, err := gophercloud.Authenticate(
-		provider,
-		gophercloud.AuthOptions{
-			Username: username,
-			Password: password,
-		},
-	)
-	if err != nil {
-		panic(err)
-	}
+	withIdentity(false, func(auth gophercloud.AccessProvider) {
+		withServerApi(auth, func(servers gophercloud.CloudServersProvider) {
+			images, err := servers.ListImages()
+			if err != nil {
+				panic(err)
+			}
 
-	servers, err := gophercloud.ServersApi(auth, gophercloud.ApiCriteria{
-		Name:      "cloudServersOpenStack",
-		Region:    *rgn,
-		VersionId: "2",
-		UrlChoice: gophercloud.PublicURL,
+			if !*quiet {
+				fmt.Println("ID,Name,MinRam,MinDisk")
+				for _, image := range images {
+					fmt.Printf("%s,\"%s\",%d,%d\n", image.Id, image.Name, image.MinRam, image.MinRam)
+				}
+			}
+		})
 	})
-	if err != nil {
-		panic(err)
-	}
-
-	images, err := servers.ListImages()
-	if err != nil {
-		panic(err)
-	}
-
-	if !*quiet {
-		fmt.Println("ID,Name,MinRam,MinDisk")
-		for _, image := range images {
-			fmt.Printf("%s,\"%s\",%d,%d\n", image.Id, image.Name, image.MinRam, image.MinRam)
-		}
-	}
 }
