diff --git a/README.md b/README.md
index fa51266..03ea79e 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,8 @@
-Golang Client
-=============
+OpenStack Golang Client
+=======================
+
+NOTE(dtroyer) Apr 2015: This repo is under heavy revision as it is being revived.
+
 stackforge/golang-client is yet another implementation of [OpenStack]
 (http://www.openstack.org/) API client in [Go language](http://golang.org).
 The code follows OpenStack licensing and borrows its infrastructure for code
@@ -17,7 +20,7 @@ Installation
 Use `go get git.openstack.org/stackforge/golang-client.git`.  Or alternatively,
 download or clone the repository.
 
-The lib was developed and tested on go 1.2. No external dependencies, so far.
+The lib was developed and tested on go 1.3. No external dependencies, so far.
 
 Examples
 --------
@@ -37,7 +40,7 @@ The tests were written against the [OpenStack API specifications]
 (http://docs.openstack.org/api/api-specs.html).
 The integration test were successful against the following:
 
-- [HP Helion Public Cloud](http://docs.hpcloud.com/api/)
+- [DevStack](http://devstack.org)
 
 If you use another provider and successfully completed the tests, please email
 the maintainer(s) so your service can be mentioned here.  Alternatively, if you
diff --git a/identity/v2/auth.go b/identity/v2/auth.go
index b8b2514..15d9158 100644
--- a/identity/v2/auth.go
+++ b/identity/v2/auth.go
@@ -20,10 +20,11 @@ import (
 	"encoding/json"
 	"errors"
 	"fmt"
-	"git.openstack.org/stackforge/golang-client.git/misc"
 	"io/ioutil"
 	"strings"
 	"time"
+
+	"git.openstack.org/stackforge/golang-client.git/util"
 )
 
 type Auth struct {
@@ -127,7 +128,7 @@ func AuthTenantNameTokenId(url, tenantName, tokenId string) (Auth, error) {
 
 func auth(url, jsonStr *string) (Auth, error) {
 	var s []byte = []byte(*jsonStr)
-	resp, err := misc.CallAPI("POST", *url, &s,
+	resp, err := util.CallAPI("POST", *url, &s,
 		"Accept-Encoding", "gzip,deflate",
 		"Accept", "application/json",
 		"Content-Type", "application/json",
@@ -135,7 +136,7 @@ func auth(url, jsonStr *string) (Auth, error) {
 	if err != nil {
 		return Auth{}, err
 	}
-	if err = misc.CheckHTTPResponseStatusCode(resp); err != nil {
+	if err = util.CheckHTTPResponseStatusCode(resp); err != nil {
 		return Auth{}, err
 	}
 	var contentType string = strings.ToLower(resp.Header.Get("Content-Type"))
diff --git a/image/v1/image.go b/image/v1/image.go
index 6945d49..8dbdcc2 100644
--- a/image/v1/image.go
+++ b/image/v1/image.go
@@ -24,9 +24,10 @@ package image
 
 import (
 	"fmt"
-	"git.openstack.org/stackforge/golang-client.git/misc"
 	"net/http"
 	"net/url"
+
+	"git.openstack.org/stackforge/golang-client.git/util"
 )
 
 // Service is a client service that can make
@@ -56,9 +57,9 @@ type Response struct {
 type DetailResponse struct {
 	CheckSum        string                `json:"checksum"`
 	ContainerFormat string                `json:"container_format"`
-	CreatedAt       misc.RFC8601DateTime  `json:"created_at"`
+	CreatedAt       util.RFC8601DateTime  `json:"created_at"`
 	Deleted         bool                  `json:"deleted"`
-	DeletedAt       *misc.RFC8601DateTime `json:"deleted_at"`
+	DeletedAt       *util.RFC8601DateTime `json:"deleted_at"`
 	DiskFormat      string                `json:"disk_format"`
 	ID              string                `json:"id"`
 	IsPublic        bool                  `json:"is_public"`
@@ -66,7 +67,7 @@ type DetailResponse struct {
 	MinRAM          int64                 `json:"min_ram"`
 	Name            string                `json:"name"`
 	Owner           *string               `json:"owner"`
-	UpdatedAt       misc.RFC8601DateTime  `json:"updated_at"`
+	UpdatedAt       util.RFC8601DateTime  `json:"updated_at"`
 	Properties      map[string]string     `json:"properties"`
 	Protected       bool                  `json:"protected"`
 	Status          string                `json:"status"`
@@ -146,7 +147,7 @@ func (imageService Service) queryImages(includeDetails bool, imagesResponseConta
 		return err
 	}
 
-	err = misc.GetJSON(reqURL.String(), imageService.TokenID, imageService.Client, &imagesResponseContainer)
+	err = util.GetJSON(reqURL.String(), imageService.TokenID, imageService.Client, &imagesResponseContainer)
 	if err != nil {
 		return err
 	}
diff --git a/image/v1/image_test.go b/image/v1/image_test.go
index dc2e70e..b64dc52 100644
--- a/image/v1/image_test.go
+++ b/image/v1/image_test.go
@@ -17,12 +17,13 @@ package image_test
 
 import (
 	"errors"
-	"git.openstack.org/stackforge/golang-client.git/image/v1"
-	"git.openstack.org/stackforge/golang-client.git/misc"
-	"git.openstack.org/stackforge/golang-client.git/testUtil"
 	"net/http"
 	"strings"
 	"testing"
+
+    "git.openstack.org/stackforge/golang-client.git/image/v1"
+    "git.openstack.org/stackforge/golang-client.git/testUtil"
+    "git.openstack.org/stackforge/golang-client.git/util"
 )
 
 var tokn = "eaaafd18-0fed-4b3a-81b4-663c99ec1cbb"
@@ -61,8 +62,8 @@ func TestListImageDetails(t *testing.T) {
 		if len(images) != 2 {
 			t.Error(errors.New("Incorrect number of images found"))
 		}
-		createdAt, _ := misc.NewDateTime(`"2014-09-29T14:44:31"`)
-		updatedAt, _ := misc.NewDateTime(`"2014-09-29T15:33:37"`)
+		createdAt, _ := util.NewDateTime(`"2014-09-29T14:44:31"`)
+		updatedAt, _ := util.NewDateTime(`"2014-09-29T15:33:37"`)
 		owner := "10014302369510"
 		virtualSize := int64(2525125)
 		expectedImageDetail := image.DetailResponse{
diff --git a/objectstorage/v1/objectstorage.go b/objectstorage/v1/objectstorage.go
index 4e73876..60168ed 100644
--- a/objectstorage/v1/objectstorage.go
+++ b/objectstorage/v1/objectstorage.go
@@ -15,11 +15,12 @@
 package objectstorage
 
 import (
-	"git.openstack.org/stackforge/golang-client.git/misc"
 	"io/ioutil"
 	"net/http"
 	"net/url"
 	"strconv"
+
+	"git.openstack.org/stackforge/golang-client.git/util"
 )
 
 var zeroByte = &([]byte{}) //pointer to empty []byte
@@ -86,12 +87,12 @@ func ListObjects(limit int64,
 	if delim != "" {
 		query += "&delimiter=" + url.QueryEscape(delim)
 	}
-	resp, err := misc.CallAPI("GET", conURL+query, zeroByte,
+	resp, err := util.CallAPI("GET", conURL+query, zeroByte,
 		"X-Auth-Token", token)
 	if err != nil {
 		return nil, err
 	}
-	if err = misc.CheckHTTPResponseStatusCode(resp); err != nil {
+	if err = util.CheckHTTPResponseStatusCode(resp); err != nil {
 		return nil, err
 	}
 	body, err := ioutil.ReadAll(resp.Body)
@@ -108,24 +109,24 @@ func ListObjects(limit int64,
 func PutObject(fContent *[]byte, url, token string, s ...string) (err error) {
 	s = append(s, "X-Auth-Token")
 	s = append(s, token)
-	resp, err := misc.CallAPI("PUT", url, fContent, s...)
+	resp, err := util.CallAPI("PUT", url, fContent, s...)
 	if err != nil {
 		return err
 	}
-	return misc.CheckHTTPResponseStatusCode(resp)
+	return util.CheckHTTPResponseStatusCode(resp)
 }
 
 //CopyObject calls the OpenStack copy object API using previously obtained
 //token.  Note from API doc: "The destination container must exist before
 //attempting the copy."
 func CopyObject(srcURL, destURL, token string) (err error) {
-	resp, err := misc.CallAPI("COPY", srcURL, zeroByte,
+	resp, err := util.CallAPI("COPY", srcURL, zeroByte,
 		"X-Auth-Token", token,
 		"Destination", destURL)
 	if err != nil {
 		return err
 	}
-	return misc.CheckHTTPResponseStatusCode(resp)
+	return util.CheckHTTPResponseStatusCode(resp)
 }
 
 //DeleteObject calls the OpenStack delete object API using
@@ -137,11 +138,11 @@ func CopyObject(srcURL, destURL, token string) (err error) {
 //remove an object and you have five total versions of it, you must DELETE it
 //five times."
 func DeleteObject(url, token string) (err error) {
-	resp, err := misc.CallAPI("DELETE", url, zeroByte, "X-Auth-Token", token)
+	resp, err := util.CallAPI("DELETE", url, zeroByte, "X-Auth-Token", token)
 	if err != nil {
 		return err
 	}
-	return misc.CheckHTTPResponseStatusCode(resp)
+	return util.CheckHTTPResponseStatusCode(resp)
 }
 
 //SetObjectMeta calls the OpenStack API to create/update meta data for
@@ -149,21 +150,21 @@ func DeleteObject(url, token string) (err error) {
 func SetObjectMeta(url string, token string, s ...string) (err error) {
 	s = append(s, "X-Auth-Token")
 	s = append(s, token)
-	resp, err := misc.CallAPI("POST", url, zeroByte, s...)
+	resp, err := util.CallAPI("POST", url, zeroByte, s...)
 	if err != nil {
 		return err
 	}
-	return misc.CheckHTTPResponseStatusCode(resp)
+	return util.CheckHTTPResponseStatusCode(resp)
 }
 
 //GetObjectMeta calls the OpenStack retrieve object metadata API using
 //previously obtained token.
 func GetObjectMeta(url, token string) (http.Header, error) {
-	resp, err := misc.CallAPI("HEAD", url, zeroByte, "X-Auth-Token", token)
+	resp, err := util.CallAPI("HEAD", url, zeroByte, "X-Auth-Token", token)
 	if err != nil {
 		return nil, err
 	}
-	return resp.Header, misc.CheckHTTPResponseStatusCode(resp)
+	return resp.Header, util.CheckHTTPResponseStatusCode(resp)
 }
 
 //GetObject calls the OpenStack retrieve object API using previously
@@ -174,11 +175,11 @@ func GetObjectMeta(url, token string) (http.Header, error) {
 //effectively executes GetObjectMeta also in addition to getting the
 //object content.
 func GetObject(url, token string) (http.Header, []byte, error) {
-	resp, err := misc.CallAPI("GET", url, zeroByte, "X-Auth-Token", token)
+	resp, err := util.CallAPI("GET", url, zeroByte, "X-Auth-Token", token)
 	if err != nil {
 		return nil, nil, err
 	}
-	if err = misc.CheckHTTPResponseStatusCode(resp); err != nil {
+	if err = util.CheckHTTPResponseStatusCode(resp); err != nil {
 		return nil, nil, err
 	}
 	var body []byte
diff --git a/openstack/README.md b/openstack/README.md
new file mode 100644
index 0000000..e12d14f
--- /dev/null
+++ b/openstack/README.md
@@ -0,0 +1,4 @@
+openstack
+=========
+
+`openstack` is the API to an OpenStack cloud.
diff --git a/misc/rfc8601DateTime.go b/util/rfc8601DateTime.go
similarity index 99%
rename from misc/rfc8601DateTime.go
rename to util/rfc8601DateTime.go
index d10daac..16369da 100644
--- a/misc/rfc8601DateTime.go
+++ b/util/rfc8601DateTime.go
@@ -12,7 +12,7 @@
 //    License for the specific language governing permissions and limitations
 //    under the License.
 
-package misc
+package util
 
 import (
 	"time"
diff --git a/misc/rfc8601DateTime_test.go b/util/rfc8601DateTime_test.go
similarity index 90%
rename from misc/rfc8601DateTime_test.go
rename to util/rfc8601DateTime_test.go
index 3384810..a88fbbd 100644
--- a/misc/rfc8601DateTime_test.go
+++ b/util/rfc8601DateTime_test.go
@@ -12,19 +12,20 @@
 //    License for the specific language governing permissions and limitations
 //    under the License.
 
-package misc_test
+package util_test
 
 import (
 	"encoding/json"
-	"git.openstack.org/stackforge/golang-client.git/misc"
-	"git.openstack.org/stackforge/golang-client.git/testUtil"
 	"testing"
 	"time"
+
+	"git.openstack.org/stackforge/golang-client.git/testUtil"
+	"git.openstack.org/stackforge/golang-client.git/util"
 )
 
 var testValue = `{"created_at":"2014-09-29T14:44:31"}`
 var testTime, _ = time.Parse(`"2006-01-02T15:04:05"`, `"2014-09-29T14:44:31"`)
-var timeTestValue = timeTest{CreatedAt: misc.RFC8601DateTime{testTime}}
+var timeTestValue = timeTest{CreatedAt: util.RFC8601DateTime{testTime}}
 
 func TestMarshalTimeTest(t *testing.T) {
 	bytes, _ := json.Marshal(timeTestValue)
@@ -54,5 +55,5 @@ func TestUnmarshalInvalidDateTimeFormatTimeTest(t *testing.T) {
 }
 
 type timeTest struct {
-	CreatedAt misc.RFC8601DateTime `json:"created_at"`
+	CreatedAt util.RFC8601DateTime `json:"created_at"`
 }
diff --git a/misc/util.go b/util/util.go
similarity index 99%
rename from misc/util.go
rename to util/util.go
index c2a2e61..abba6b7 100644
--- a/misc/util.go
+++ b/util/util.go
@@ -12,7 +12,7 @@
 //    License for the specific language governing permissions and limitations
 //    under the License.
 
-package misc
+package util
 
 import (
 	"bytes"
diff --git a/misc/util_test.go b/util/util_test.go
similarity index 87%
rename from misc/util_test.go
rename to util/util_test.go
index 7ab8520..2fd190c 100644
--- a/misc/util_test.go
+++ b/util/util_test.go
@@ -12,18 +12,19 @@
 //    License for the specific language governing permissions and limitations
 //    under the License.
 
-package misc_test
+package util_test
 
 import (
 	"bytes"
 	"errors"
-	"git.openstack.org/stackforge/golang-client.git/misc"
-	"git.openstack.org/stackforge/golang-client.git/testUtil"
 	"io/ioutil"
 	"net/http"
 	"net/http/httptest"
 	"strconv"
 	"testing"
+
+	"git.openstack.org/stackforge/golang-client.git/testUtil"
+	"git.openstack.org/stackforge/golang-client.git/util"
 )
 
 var token = "2350971-5716-8165"
@@ -32,7 +33,7 @@ func TestDelete(t *testing.T) {
 	var apiServer = testUtil.CreateDeleteTestRequestServer(t, token, "/other")
 	defer apiServer.Close()
 
-	err := misc.Delete(apiServer.URL+"/other", token, *http.DefaultClient)
+	err := util.Delete(apiServer.URL+"/other", token, *http.DefaultClient)
 	testUtil.IsNil(t, err)
 }
 
@@ -42,7 +43,7 @@ func TestPostJsonWithValidResponse(t *testing.T) {
 	actual := TestStruct{}
 	ti := TestStruct{ID: "id1", Name: "name"}
 
-	err := misc.PostJSON(apiServer.URL, token, *http.DefaultClient, ti, &actual)
+	err := util.PostJSON(apiServer.URL, token, *http.DefaultClient, ti, &actual)
 	testUtil.IsNil(t, err)
 	expected := TestStruct{ID: "id1", Name: "Chris"}
 
@@ -59,13 +60,13 @@ func TestCallAPI(t *testing.T) {
 			w.WriteHeader(200) //ok
 		}))
 	zeroByte := &([]byte{})
-	if _, err := misc.CallAPI("HEAD", apiServer.URL, zeroByte, "X-Auth-Token", tokn); err != nil {
+	if _, err := util.CallAPI("HEAD", apiServer.URL, zeroByte, "X-Auth-Token", tokn); err != nil {
 		t.Error(err)
 	}
-	if _, err := misc.CallAPI("DELETE", apiServer.URL, zeroByte, "X-Auth-Token", tokn); err != nil {
+	if _, err := util.CallAPI("DELETE", apiServer.URL, zeroByte, "X-Auth-Token", tokn); err != nil {
 		t.Error(err)
 	}
-	if _, err := misc.CallAPI("POST", apiServer.URL, zeroByte, "X-Auth-Token", tokn); err != nil {
+	if _, err := util.CallAPI("POST", apiServer.URL, zeroByte, "X-Auth-Token", tokn); err != nil {
 		t.Error(err)
 	}
 }
@@ -89,7 +90,7 @@ func TestCallAPIGetContent(t *testing.T) {
 			w.Write(body)
 		}))
 	var resp *http.Response
-	if resp, err = misc.CallAPI("GET", apiServer.URL, &fContent, "X-Auth-Token", tokn,
+	if resp, err = util.CallAPI("GET", apiServer.URL, &fContent, "X-Auth-Token", tokn,
 		"Etag", "md5hash-blahblah"); err != nil {
 		t.Error(err)
 	}
@@ -128,7 +129,7 @@ func TestCallAPIPutContent(t *testing.T) {
 			}
 			w.WriteHeader(200)
 		}))
-	if _, err = misc.CallAPI("PUT", apiServer.URL, &fContent, "X-Auth-Token", tokn); err != nil {
+	if _, err = util.CallAPI("PUT", apiServer.URL, &fContent, "X-Auth-Token", tokn); err != nil {
 		t.Error(err)
 	}
 }