diff --git a/rackspace/lb/v1/lbs/doc.go b/rackspace/lb/v1/lbs/doc.go
index 6047d3f..05f0032 100644
--- a/rackspace/lb/v1/lbs/doc.go
+++ b/rackspace/lb/v1/lbs/doc.go
@@ -11,7 +11,7 @@
 IPs between load balancers. If you have at least one load balancer, you may
 create subsequent ones that share a single virtual IPv4 and/or a single IPv6 by
 passing in a virtual IP ID to the Update operation (instead of a type). This
-feature is also highly desirable if you wish to load balance both an unsecured
+feature is also highly desirable if you wish to load balance both an insecure
 and secure protocol using one IP or DNS name. In order to share a virtual IP,
 each Load Balancer must utilize a unique port.
 
@@ -22,23 +22,23 @@
 being generated and applied based on the request. Once the configuration is
 applied and finalized, it is in an ACTIVE status. In the event of a
 configuration change or update, the status of the load balancer changes to
-PENDING_UPDATE to signify configuration changes are in progress but are not yet
+PENDING_UPDATE to signify configuration changes are in progress but have not yet
 been finalized. Load balancers in a SUSPENDED status are configured to reject
-traffic and does not forward requests to back-end nodes.
+traffic and do not forward requests to back-end nodes.
 
-A HTTP load balancer has the X-Forwarded-For (XFF) HTTP header set by default.
+An HTTP load balancer has the X-Forwarded-For (XFF) HTTP header set by default.
 This header contains the originating IP address of a client connecting to a web
 server through an HTTP proxy or load balancer, which many web applications are
 already designed to use when determining the source address for a request.
 
 It also includes the X-Forwarded-Proto (XFP) HTTP header, which has been added
 for identifying the originating protocol of an HTTP request as "http" or
-"https" depending on what protocol the client requested. This is useful when
+"https" depending on which protocol the client requested. This is useful when
 using SSL termination.
 
 Finally, it also includes the X-Forwarded-Port HTTP header, which has been
 added for being able to generate secure URLs containing the specified port.
-This header, along with the X-Forwarded-For header, provide the needed
+This header, along with the X-Forwarded-For header, provides the needed
 information to the underlying application servers.
 */
 package lbs
diff --git a/rackspace/lb/v1/lbs/requests.go b/rackspace/lb/v1/lbs/requests.go
index 8e53020..2d57520 100644
--- a/rackspace/lb/v1/lbs/requests.go
+++ b/rackspace/lb/v1/lbs/requests.go
@@ -112,7 +112,8 @@
 	// to help mitigate malicious or abusive traffic to your applications.
 	ConnThrottle *throttle.ConnectionThrottle
 
-	// Optional
+	// Optional - the type of health monitor check to perform to ensure that the
+	// service is performing properly.
 	HealthMonitor *monitors.Monitor
 
 	// Optional - arbitrary information that can be associated with each LB.
@@ -215,7 +216,7 @@
 //
 // Once an ID is attained, you can check on the progress of the operation by
 // calling Get and passing in the ID. If the corresponding request cannot be
-// fulfilled due to insufficient or invalid data, a HTTP 400 (Bad Request)
+// fulfilled due to insufficient or invalid data, an HTTP 400 (Bad Request)
 // error response is returned with information regarding the nature of the
 // failure in the body of the response. Failures in the validation process are
 // non-recoverable and require the caller to correct the cause of the failure.
@@ -255,7 +256,7 @@
 }
 
 // BulkDelete removes all the load balancers referenced in the slice of IDs.
-// Any and all configuration data associated with these load balancers are
+// Any and all configuration data associated with these load balancers is
 // immediately purged and is not recoverable.
 //
 // If one of the items in the list cannot be removed due to its current status,
@@ -298,7 +299,7 @@
 	ToLBUpdateMap() (map[string]interface{}, error)
 }
 
-// UpdateOpts represent the options for updating an existing load balancer.
+// UpdateOpts represents the options for updating an existing load balancer.
 type UpdateOpts struct {
 	// Optional - new name of the load balancer.
 	Name string
@@ -355,7 +356,7 @@
 
 // Update is the operation responsible for asynchronously updating the
 // attributes of a specific load balancer. Upon successful validation of the
-// request, the service returns a 202 Accepted response and the load balancer
+// request, the service returns a 202 Accepted response, and the load balancer
 // enters a PENDING_UPDATE state. A user can poll the load balancer with Get to
 // wait for the changes to be applied. When this happens, the load balancer will
 // return to an ACTIVE state.
