Create VIP operation
diff --git a/rackspace/lb/v1/vips/results.go b/rackspace/lb/v1/vips/results.go
index a3bfed7..aa5ef37 100644
--- a/rackspace/lb/v1/vips/results.go
+++ b/rackspace/lb/v1/vips/results.go
@@ -2,6 +2,8 @@
 
 import (
 	"github.com/mitchellh/mapstructure"
+
+	"github.com/rackspace/gophercloud"
 	"github.com/rackspace/gophercloud/pagination"
 )
 
@@ -40,3 +42,22 @@
 
 	return resp.VIPs, err
 }
+
+type commonResult struct {
+	gophercloud.Result
+}
+
+func (r commonResult) Extract() (*VIP, error) {
+	if r.Err != nil {
+		return nil, r.Err
+	}
+
+	resp := &VIP{}
+	err := mapstructure.Decode(r.Body, resp)
+
+	return resp, err
+}
+
+type CreateResult struct {
+	commonResult
+}