fix for hanging  unit tests
diff --git a/openstack/storage/v1/containers/results.go b/openstack/storage/v1/containers/results.go
index 6a93b4d..283e44a 100644
--- a/openstack/storage/v1/containers/results.go
+++ b/openstack/storage/v1/containers/results.go
@@ -9,7 +9,11 @@
 	"strings"
 )
 
-type Container map[string]interface{}
+type Container struct {
+	Bytes int
+	Count int
+	Name  string
+}
 
 type commonResult struct {
 	gophercloud.CommonResult
@@ -79,7 +83,11 @@
 	untyped := page.(ContainerPage).Body.([]interface{})
 	results := make([]Container, len(untyped))
 	for index, each := range untyped {
-		results[index] = Container(each.(map[string]interface{}))
+		container := each.(map[string]interface{})
+		err := mapstructure.Decode(container, results[index])
+		if err != nil {
+			return results, err
+		}
 	}
 	return results, nil
 }
@@ -98,7 +106,7 @@
 
 		names := make([]string, 0, len(parsed))
 		for _, container := range parsed {
-			names = append(names, container["name"].(string))
+			names = append(names, container.Name)
 		}
 		return names, nil
 	case strings.HasPrefix(ct, "text/plain"):