diff --git a/openstack/storage/v1/objects/requests.go b/openstack/storage/v1/objects/requests.go
index 67aba34..91b2b42 100644
--- a/openstack/storage/v1/objects/requests.go
+++ b/openstack/storage/v1/objects/requests.go
@@ -60,7 +60,7 @@
 		return p
 	}
 
-	url := getContainerURL(c, opts.Container) + query
+	url := containerURL(c, opts.Container) + query
 	pager := pagination.NewPager(c, url, createPage)
 	pager.Headers = headers
 	return pager
@@ -78,7 +78,7 @@
 
 	query := utils.BuildQuery(opts.Params)
 
-	url := getObjectURL(c, opts.Container, opts.Name) + query
+	url := objectURL(c, opts.Container, opts.Name) + query
 	resp, err := perigee.Request("GET", url, perigee.Options{
 		MoreHeaders: h,
 		OkCodes:     []int{200},
@@ -111,7 +111,7 @@
 		}
 	}
 
-	url := getObjectURL(c, opts.Container, opts.Name) + query
+	url := objectURL(c, opts.Container, opts.Name) + query
 	_, err := perigee.Request("PUT", url, perigee.Options{
 		ReqBody:     reqBody,
 		MoreHeaders: h,
@@ -130,7 +130,7 @@
 
 	h["Destination"] = fmt.Sprintf("/%s/%s", opts.NewContainer, opts.NewName)
 
-	url := getObjectURL(c, opts.Container, opts.Name)
+	url := objectURL(c, opts.Container, opts.Name)
 	_, err := perigee.Request("COPY", url, perigee.Options{
 		MoreHeaders: h,
 		OkCodes:     []int{201},
@@ -144,7 +144,7 @@
 
 	query := utils.BuildQuery(opts.Params)
 
-	url := getObjectURL(c, opts.Container, opts.Name) + query
+	url := objectURL(c, opts.Container, opts.Name) + query
 	_, err := perigee.Request("DELETE", url, perigee.Options{
 		MoreHeaders: h,
 		OkCodes:     []int{204},
@@ -161,7 +161,7 @@
 		h[k] = v
 	}
 
-	url := getObjectURL(c, opts.Container, opts.Name)
+	url := objectURL(c, opts.Container, opts.Name)
 	resp, err := perigee.Request("HEAD", url, perigee.Options{
 		MoreHeaders: h,
 		OkCodes:     []int{204},
@@ -181,7 +181,7 @@
 		h["X-Object-Meta-"+k] = v
 	}
 
-	url := getObjectURL(c, opts.Container, opts.Name)
+	url := objectURL(c, opts.Container, opts.Name)
 	_, err := perigee.Request("POST", url, perigee.Options{
 		MoreHeaders: h,
 		OkCodes:     []int{202},
diff --git a/openstack/storage/v1/objects/urls.go b/openstack/storage/v1/objects/urls.go
index 5a52aed..a377960 100644
--- a/openstack/storage/v1/objects/urls.go
+++ b/openstack/storage/v1/objects/urls.go
@@ -2,12 +2,12 @@
 
 import "github.com/rackspace/gophercloud"
 
-// getObjectURL returns the URI for making Object requests.
-func getObjectURL(c *gophercloud.ServiceClient, container, object string) string {
+// objectURL returns the URI for making Object requests.
+func objectURL(c *gophercloud.ServiceClient, container, object string) string {
 	return c.ServiceURL(container, object)
 }
 
-// getContainerURL returns the URI for making Container requests.
-func getContainerURL(c *gophercloud.ServiceClient, container string) string {
+// containerURL returns the URI for making Container requests.
+func containerURL(c *gophercloud.ServiceClient, container string) string {
 	return c.ServiceURL(container)
 }
