diff --git a/openstack/compute/flavors/client.go b/openstack/compute/flavors/client.go
index 5ad97af..60c7cd1 100644
--- a/openstack/compute/flavors/client.go
+++ b/openstack/compute/flavors/client.go
@@ -5,16 +5,16 @@
 )
 
 type Client struct {
-	endpoint string
+	endpoint  string
 	authority identity.AuthResults
-	options identity.AuthOptions
+	options   identity.AuthOptions
 }
 
 func NewClient(e string, a identity.AuthResults, ao identity.AuthOptions) *Client {
 	return &Client{
-		endpoint: e,
+		endpoint:  e,
 		authority: a,
-		options: ao,
+		options:   ao,
 	}
 }
 
@@ -32,4 +32,3 @@
 		"X-Auth-Token": t.Id,
 	}, nil
 }
-
diff --git a/openstack/compute/flavors/flavors.go b/openstack/compute/flavors/flavors.go
index b66115f..81996a5 100644
--- a/openstack/compute/flavors/flavors.go
+++ b/openstack/compute/flavors/flavors.go
@@ -5,7 +5,6 @@
 	"reflect"
 )
 
-
 // Flavor records represent (virtual) hardware configurations for server resources in a region.
 //
 // The Id field contains the flavor's unique identifier.
@@ -20,13 +19,13 @@
 //
 // VCpus indicates how many (virtual) CPUs are available for this flavor.
 type Flavor struct {
-	Disk          int
-	Id            string
-	Name          string
-	Ram           int
-	RxTxFactor    float64	`mapstructure:"rxtx_factor"`
-	Swap          int
-	VCpus         int
+	Disk       int
+	Id         string
+	Name       string
+	Ram        int
+	RxTxFactor float64 `mapstructure:"rxtx_factor"`
+	Swap       int
+	VCpus      int
 }
 
 func defaulter(from, to reflect.Kind, v interface{}) (interface{}, error) {
@@ -48,7 +47,7 @@
 		flavorObj := fm.(map[string]interface{})
 		cfg := &mapstructure.DecoderConfig{
 			DecodeHook: defaulter,
-			Result: &flavors[i],
+			Result:     &flavors[i],
 		}
 		decoder, err := mapstructure.NewDecoder(cfg)
 		if err != nil {
@@ -61,4 +60,3 @@
 	}
 	return flavors, nil
 }
-
diff --git a/openstack/compute/flavors/requests.go b/openstack/compute/flavors/requests.go
index c76e5af..f4dd072 100644
--- a/openstack/compute/flavors/requests.go
+++ b/openstack/compute/flavors/requests.go
@@ -5,7 +5,6 @@
 	"github.com/racker/perigee"
 )
 
-
 var ErrNotImplemented = fmt.Errorf("Flavors functionality not implemented.")
 
 type ListResults map[string]interface{}
@@ -19,9 +18,8 @@
 	}
 
 	err = perigee.Get(c.getListUrl(), perigee.Options{
-		Results: &lr,
+		Results:     &lr,
 		MoreHeaders: h,
 	})
 	return lr, err
 }
-
