diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6ba5beb..becaf44 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -16,10 +16,10 @@
 2. Move into the directory that houses your local repository:
 
    ```bash
-   cd ${GOPATH}/src/github.com/rackspace/gophercloud
+   cd ${GOPATH}/src/github.com/gophercloud/gophercloud
    ```
 
-3. Fork the `rackspace/gophercloud` repository and update your remote refs. You
+3. Fork the `gophercloud/gophercloud` repository and update your remote refs. You
 will need to rename the `origin` remote branch to `upstream`, and add your
 fork as `origin` instead:
 
@@ -49,12 +49,12 @@
 
 When working on a new or existing feature, testing will be the backbone of your
 work since it helps uncover and prevent regressions in the codebase. There are
-two types of test we use in gophercloud: unit tests and acceptance tests, which
+two types of test we use in Gophercloud: unit tests and acceptance tests, which
 are both described below.
 
 ### Unit tests
 
-Unit tests are the fine-grained tests that establish and ensure the behaviour
+Unit tests are the fine-grained tests that establish and ensure the behavior
 of individual units of functionality. We usually test on an
 operation-by-operation basis (an operation typically being an API action) with
 the use of mocking to set up explicit expectations. Each operation will set up
@@ -68,7 +68,7 @@
 import (
   "testing"
 
-  "github.com/rackspace/gophercloud/testhelper"
+  "github.com/gophercloud/gophercloud/testhelper"
 )
 
 func TestSomething(t *testing.T) {
@@ -94,8 +94,8 @@
 import (
 	"testing"
 
-	th "github.com/rackspace/gophercloud/testhelper"
-	fake "github.com/rackspace/gophercloud/testhelper/client"
+	th "github.com/gophercloud/gophercloud/testhelper"
+	fake "github.com/gophercloud/gophercloud/testhelper/client"
 )
 
 func TestGet(t *testing.T) {
@@ -141,7 +141,7 @@
 ### Acceptance tests
 
 As we've already mentioned, unit tests have a very narrow and confined focus -
-they test small units of behaviour. Acceptance tests on the other hand have a
+they test small units of behavior. Acceptance tests on the other hand have a
 far larger scope: they are fully functional tests that test the entire API of a
 service in one fell swoop. They don't care about unit isolation or mocking
 expectations, they instead do a full run-through and consequently test how the
@@ -179,7 +179,9 @@
 cd ./path/to/package && go test .
 ```
 
-## Basic style guide
+## Style guide
+
+
 
 We follow the standard formatting recommendations and language idioms set out
 in the [Effective Go](https://golang.org/doc/effective_go.html) guide. It's
@@ -194,7 +196,7 @@
 your fix, you will need to follow the same basic steps that all submissions are
 required to adhere to:
 
-1. [fork](https://help.github.com/articles/fork-a-repo/) the `rackspace/gophercloud` repository
+1. [fork](https://help.github.com/articles/fork-a-repo/) the `gophercloud/gophercloud` repository
 2. checkout a [new branch](https://github.com/Kunena/Kunena-Forum/wiki/Create-a-new-branch-with-git-and-manage-branches)
 3. submit your branch as a [pull request](https://help.github.com/articles/creating-a-pull-request/)
 
@@ -218,7 +220,7 @@
 
 If you want to start fixing open bugs, we'd really appreciate that! Bug fixing
 is central to any project. The best way to get started is by heading to our
-[bug tracker](https://github.com/rackspace/gophercloud/issues) and finding open
+[bug tracker](https://github.com/gophercloud/gophercloud/issues) and finding open
 bugs that you think nobody is working on. It might be useful to comment on the
 thread to see the current state of the issue and if anybody has made any
 breakthroughs on it so far.
@@ -254,7 +256,7 @@
 users are more likely to be integrated quickly.
 
 Lastly, if you're seeking to optimize a particular operation, you should try to
-demonstrate a negative performance impact - perhaps using go's inbuilt
+demonstrate a negative performance impact - perhaps using Go's inbuilt
 [benchmark capabilities](http://dave.cheney.net/2013/06/30/how-to-write-benchmarks-in-go).
 
 ### 5. Working on a new feature
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
deleted file mode 100644
index 63beb30..0000000
--- a/CONTRIBUTORS.md
+++ /dev/null
@@ -1,13 +0,0 @@
-Contributors
-============
-
-| Name | Email |
-| ---- | ----- |
-| Samuel A. Falvo II | <sam.falvo@rackspace.com>
-| Glen Campbell | <glen.campbell@rackspace.com>
-| Jesse Noller | <jesse.noller@rackspace.com>
-| Jon Perritt | <jon.perritt@rackspace.com>
-| Ash Wilson | <ash.wilson@rackspace.com>
-| Jamie Hannaford | <jamie.hannaford@rackspace.com>
-| Don Schenck | don.schenck@rackspace.com>
-| Joe Topjian | <joe@topjian.net>
diff --git a/README.md b/README.md
index de95a10..0532000 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,12 @@
 # Gophercloud: an OpenStack SDK for Go
-[![Build Status](https://travis-ci.org/rackspace/gophercloud.svg?branch=master)](https://travis-ci.org/rackspace/gophercloud) 
+[![Build Status](https://travis-ci.org/gophercloud/gophercloud.svg?branch=master)](https://travis-ci.org/gophercloud/gophercloud)
 [![Coverage Status](https://coveralls.io/repos/github/gophercloud/gophercloud/badge.svg?branch=master)](https://coveralls.io/github/gophercloud/gophercloud?branch=master)
 
-Gophercloud is a flexible SDK that allows you to consume and work with OpenStack
-clouds in a simple and idiomatic way using golang. Many services are supported,
-including Compute, Block Storage, Object Storage, Networking, and Identity.
-Each service API is backed with getting started guides, code samples, reference
-documentation, unit tests and acceptance tests.
+Gophercloud is an OpenStack Go SDK.
 
 ## Useful links
 
-* [Gophercloud homepage](http://gophercloud.io)
-* [Reference documentation](http://godoc.org/github.com/rackspace/gophercloud)
-* [Getting started guides](http://gophercloud.io/docs)
+* [Reference documentation](http://godoc.org/github.com/gophercloud/gophercloud)
 * [Effective Go](https://golang.org/doc/effective_go.html)
 
 ## How to install
@@ -31,9 +25,9 @@
 Gophercloud as a dependency like so:
 
 ```bash
-go get github.com/rackspace/gophercloud
+go get github.com/gophercloud/gophercloud
 
-# Edit your code to import relevant packages from "github.com/rackspace/gophercloud"
+# Edit your code to import relevant packages from "github.com/gophercloud/gophercloud"
 
 godep save ./...
 ```
@@ -55,7 +49,6 @@
 
 * username
 * password
-* tenant name or tenant ID
 * a valid Keystone identity URL
 
 For users that have the OpenStack dashboard installed, there's a shortcut. If
@@ -74,9 +67,9 @@
 
 ```go
 import (
-  "github.com/rackspace/gophercloud"
-  "github.com/rackspace/gophercloud/openstack"
-  "github.com/rackspace/gophercloud/openstack/utils"
+  "github.com/gophercloud/gophercloud"
+  "github.com/gophercloud/gophercloud/openstack"
+  "github.com/gophercloud/gophercloud/openstack/utils"
 )
 
 // Option 1: Pass in the values yourself
@@ -84,7 +77,6 @@
   IdentityEndpoint: "https://my-openstack.com:5000/v2.0",
   Username: "{username}",
   Password: "{password}",
-  TenantID: "{tenant_id}",
 }
 
 // Option 2: Use a utility function to retrieve all your environment variables
@@ -120,7 +112,7 @@
 interested in:
 
 ```go
-import "github.com/rackspace/gophercloud/openstack/compute/v2/servers"
+import "github.com/gophercloud/gophercloud/openstack/compute/v2/servers"
 
 server, err := servers.Create(client, servers.CreateOpts{
   Name:      "My new server!",
@@ -129,11 +121,9 @@
 }).Extract()
 ```
 
-If you are unsure about what images and flavors are, you can read our [Compute
-Getting Started guide](http://gophercloud.io/docs/compute). The above code
-sample creates a new server with the parameters, and embodies the new resource
-in the `server` variable (a
-[`servers.Server`](http://godoc.org/github.com/rackspace/gophercloud) struct).
+The above code sample creates a new server with the parameters, and embodies the
+new resource in the `server` variable (a
+[`servers.Server`](http://godoc.org/github.com/gophercloud/gophercloud) struct).
 
 ### Next steps
 
