use interfaces rather than concrete types
diff --git a/rackspace/db/v1/instances/requests.go b/rackspace/db/v1/instances/requests.go
index c8876da..f4df692 100644
--- a/rackspace/db/v1/instances/requests.go
+++ b/rackspace/db/v1/instances/requests.go
@@ -24,10 +24,10 @@
 	Name string
 
 	// A slice of database information options.
-	Databases osDBs.BatchCreateOpts
+	Databases osDBs.CreateOptsBuilder
 
 	// A slice of user information options.
-	Users osUsers.BatchCreateOpts
+	Users osUsers.CreateOptsBuilder
 
 	// ID of the configuration group to associate with the instance. Optional.
 	ConfigID string
diff --git a/rackspace/db/v1/users/requests.go b/rackspace/db/v1/users/requests.go
index aab7e41..74e47ab 100644
--- a/rackspace/db/v1/users/requests.go
+++ b/rackspace/db/v1/users/requests.go
@@ -29,7 +29,7 @@
 
 	ChangePassword(client, "instance_id", opts)
 */
-func ChangePassword(client *gophercloud.ServiceClient, instanceID string, opts os.BatchCreateOpts) UpdatePasswordsResult {
+func ChangePassword(client *gophercloud.ServiceClient, instanceID string, opts os.CreateOptsBuilder) UpdatePasswordsResult {
 	var res UpdatePasswordsResult
 
 	reqBody, err := opts.ToUserCreateMap()
@@ -142,7 +142,7 @@
 
 	GrantAccess(client, "instance_id", "user_name", opts)
 */
-func GrantAccess(client *gophercloud.ServiceClient, instanceID, userName string, opts db.BatchCreateOpts) GrantAccessResult {
+func GrantAccess(client *gophercloud.ServiceClient, instanceID, userName string, opts db.CreateOptsBuilder) GrantAccessResult {
 	var res GrantAccessResult
 
 	reqBody, err := opts.ToDBCreateMap()