v1 object storage error types
diff --git a/openstack/objectstorage/v1/objects/requests.go b/openstack/objectstorage/v1/objects/requests.go
index 9a6da58..d82aeb2 100644
--- a/openstack/objectstorage/v1/objects/requests.go
+++ b/openstack/objectstorage/v1/objects/requests.go
@@ -242,7 +242,10 @@
 			res.Err = err
 			return res
 		}
-		res.Err = fmt.Errorf("Local checksum does not match API ETag header")
+		err := ErrWrongChecksum{}
+		err.Function = "objects.Create"
+		res.Err = err
+
 	}
 
 	return res
@@ -267,7 +270,10 @@
 // ToObjectCopyMap formats a CopyOpts into a map of headers.
 func (opts CopyOpts) ToObjectCopyMap() (map[string]string, error) {
 	if opts.Destination == "" {
-		return nil, fmt.Errorf("Required CopyOpts field 'Destination' not set.")
+		err := gophercloud.ErrMissingInput{}
+		err.Function = "objects.ToObjectCopyMap"
+		err.Argument = "objects.CopyOpts.Destination"
+		return nil, err
 	}
 	h, err := gophercloud.BuildHeaders(opts)
 	if err != nil {