diff --git a/README.txt b/README.txt
index 6fbeb8f7de..efc7e7bf3e 100644
--- a/README.txt
+++ b/README.txt
@@ -31,7 +31,9 @@ our dev version is 1.0-SNAPSHOT
our compute api supports: ec2, gogrid, cloudservers (rackspace), rimuhosting, vcloud,
trmk-ecloud, trmk-vcloudexpress, eucalyptus,
- bluelock-vclouddirector, slicehost, stub (in-memory)
+ elasticstack, bluelock-vclouddirector, slicehost,
+ elastichosts-lon-p (Peer 1), elastichosts-sat-p (Peer 1),
+ elastichosts-lon-b (BlueSquare), stub (in-memory)
* note * the pom dependency org.jclouds/jclouds-allcompute gives you access to
to all of these providers
diff --git a/allcompute/pom.xml b/allcompute/pom.xml
index 000e927a1f..8e00363dd1 100644
--- a/allcompute/pom.xml
+++ b/allcompute/pom.xml
@@ -69,5 +69,10 @@
jclouds-slicehost
${project.version}
+
+ ${project.groupId}
+ jclouds-elasticstack
+ ${project.version}
+
diff --git a/compute/src/main/clojure/org/jclouds/compute.clj b/compute/src/main/clojure/org/jclouds/compute.clj
index 0ee451a81a..dd140be944 100644
--- a/compute/src/main/clojure/org/jclouds/compute.clj
+++ b/compute/src/main/clojure/org/jclouds/compute.clj
@@ -22,7 +22,8 @@
Current supported services are:
[ec2, rimuhosting, cloudservers, trmk-ecloud, trmk-vcloudexpress, vcloud,
- bluelock, eucalyptus, slicehost]
+ bluelock, eucalyptus, slicehost, elastichosts-lon-p, elastichosts-sat-p,
+ elastichosts, elastichosts-lon-b, stub]
Here's an example of getting some compute configuration from rackspace:
diff --git a/sandbox/elasticstack/pom.xml b/elasticstack/pom.xml
similarity index 99%
rename from sandbox/elasticstack/pom.xml
rename to elasticstack/pom.xml
index 73a9c7f299..9afc7f0880 100644
--- a/sandbox/elasticstack/pom.xml
+++ b/elasticstack/pom.xml
@@ -28,7 +28,7 @@
org.jclouds
jclouds-project
1.0-SNAPSHOT
- ../../project/pom.xml
+ ../project/pom.xml
org.jclouds
jclouds-elasticstack
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackAsyncClient.java b/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackAsyncClient.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackAsyncClient.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackAsyncClient.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackClient.java b/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackClient.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackClient.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackClient.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackContextBuilder.java b/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackContextBuilder.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackContextBuilder.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackContextBuilder.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackPropertiesBuilder.java b/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackPropertiesBuilder.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackPropertiesBuilder.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/ElasticStackPropertiesBuilder.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextString.java b/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextString.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextString.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextString.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextString.java b/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextString.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextString.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextString.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindServerToPlainTextString.java b/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindServerToPlainTextString.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindServerToPlainTextString.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/binders/BindServerToPlainTextString.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceAdapter.java b/elasticstack/src/main/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceAdapter.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceAdapter.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceAdapter.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java b/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/compute/config/ElasticStackComputeServiceContextModule.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/ServerInfoToNodeMetadata.java b/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/ServerInfoToNodeMetadata.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/ServerInfoToNodeMetadata.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/compute/functions/ServerInfoToNodeMetadata.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/config/ElasticStackRestClientModule.java b/elasticstack/src/main/java/org/jclouds/elasticstack/config/ElasticStackRestClientModule.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/config/ElasticStackRestClientModule.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/config/ElasticStackRestClientModule.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/BlockDevice.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/BlockDevice.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/BlockDevice.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/BlockDevice.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ClaimType.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ClaimType.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ClaimType.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/ClaimType.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/CreateDriveRequest.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/CreateDriveRequest.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/CreateDriveRequest.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/CreateDriveRequest.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Device.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Device.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Device.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/Device.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Drive.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Drive.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Drive.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/Drive.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveData.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveData.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveData.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveData.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveInfo.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveInfo.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveInfo.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveInfo.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveMetrics.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveMetrics.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveMetrics.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveMetrics.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveStatus.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveStatus.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveStatus.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/DriveStatus.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/IDEDevice.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/IDEDevice.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/IDEDevice.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/IDEDevice.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ImageConversionType.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ImageConversionType.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ImageConversionType.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/ImageConversionType.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Item.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Item.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Item.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/Item.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/MediaType.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/MediaType.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/MediaType.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/MediaType.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Model.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Model.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Model.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/Model.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/NIC.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/NIC.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/NIC.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/NIC.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/SCSIDevice.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/SCSIDevice.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/SCSIDevice.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/SCSIDevice.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Server.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Server.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/Server.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/Server.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerInfo.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerInfo.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerInfo.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerInfo.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerMetrics.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerMetrics.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerMetrics.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerMetrics.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerStatus.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerStatus.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerStatus.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/ServerStatus.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/VNC.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/VNC.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/VNC.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/VNC.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java b/elasticstack/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/domain/WellKnownImage.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/BaseDriveToMap.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/BaseDriveToMap.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/BaseDriveToMap.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/BaseDriveToMap.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMap.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMap.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMap.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMap.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/DriveDataToMap.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/DriveDataToMap.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/DriveDataToMap.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/DriveDataToMap.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfo.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfo.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSet.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMaps.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSet.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLines.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDevices.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDevices.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDevices.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDevices.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveInfo.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveInfo.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveInfo.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveInfo.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveMetrics.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveMetrics.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveMetrics.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToDriveMetrics.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToNICs.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToNICs.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToNICs.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToNICs.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerInfo.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerInfo.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerInfo.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerInfo.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerMetrics.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerMetrics.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerMetrics.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/MapToServerMetrics.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ReturnPayload.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ReturnPayload.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ReturnPayload.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/ReturnPayload.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ServerToMap.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ServerToMap.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/ServerToMap.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/ServerToMap.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/SplitNewlines.java b/elasticstack/src/main/java/org/jclouds/elasticstack/functions/SplitNewlines.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/functions/SplitNewlines.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/functions/SplitNewlines.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java b/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/predicates/DriveClaimed.java b/elasticstack/src/main/java/org/jclouds/elasticstack/predicates/DriveClaimed.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/predicates/DriveClaimed.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/predicates/DriveClaimed.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/reference/ElasticStackConstants.java b/elasticstack/src/main/java/org/jclouds/elasticstack/reference/ElasticStackConstants.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/reference/ElasticStackConstants.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/reference/ElasticStackConstants.java
diff --git a/sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/util/Servers.java b/elasticstack/src/main/java/org/jclouds/elasticstack/util/Servers.java
similarity index 100%
rename from sandbox/elasticstack/src/main/java/org/jclouds/elasticstack/util/Servers.java
rename to elasticstack/src/main/java/org/jclouds/elasticstack/util/Servers.java
diff --git a/sandbox/elasticstack/src/main/resources/preinstalled_images.json b/elasticstack/src/main/resources/preinstalled_images.json
similarity index 100%
rename from sandbox/elasticstack/src/main/resources/preinstalled_images.json
rename to elasticstack/src/main/resources/preinstalled_images.json
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackAsyncClientTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackAsyncClientTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackAsyncClientTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackAsyncClientTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackClientLiveTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/ProvidersInPropertiesTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/ProvidersInPropertiesTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/ProvidersInPropertiesTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/ProvidersInPropertiesTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextStringTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextStringTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextStringTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveDataToPlainTextStringTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextStringTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextStringTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextStringTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindDriveToPlainTextStringTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindServerToPlainTextStringTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindServerToPlainTextStringTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindServerToPlainTextStringTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/binders/BindServerToPlainTextStringTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceLiveTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceLiveTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceLiveTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackComputeServiceLiveTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackTemplateBuilderLiveTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackTemplateBuilderLiveTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackTemplateBuilderLiveTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/compute/ElasticStackTemplateBuilderLiveTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/BaseDriveToMapTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/BaseDriveToMapTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/BaseDriveToMapTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/BaseDriveToMapTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMapTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMapTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMapTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/CreateDriveRequestToMapTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/DriveDataToMapTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/DriveDataToMapTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/DriveDataToMapTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/DriveDataToMapTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToDriveInfoTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/KeyValuesDelimitedByBlankLinesToServerInfoTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToDriveInfoTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToDriveInfoTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToDriveInfoTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToDriveInfoTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToServerInfoTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToServerInfoTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToServerInfoTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/MapToServerInfoTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ServerToMapTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ServerToMapTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/ServerToMapTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/ServerToMapTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/SplitNewlinesTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/functions/SplitNewlinesTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/functions/SplitNewlinesTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/functions/SplitNewlinesTest.java
diff --git a/sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandlerTest.java b/elasticstack/src/test/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandlerTest.java
similarity index 100%
rename from sandbox/elasticstack/src/test/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandlerTest.java
rename to elasticstack/src/test/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandlerTest.java
diff --git a/sandbox/elasticstack/src/test/resources/create_drive.txt b/elasticstack/src/test/resources/create_drive.txt
similarity index 100%
rename from sandbox/elasticstack/src/test/resources/create_drive.txt
rename to elasticstack/src/test/resources/create_drive.txt
diff --git a/sandbox/elasticstack/src/test/resources/create_server.txt b/elasticstack/src/test/resources/create_server.txt
similarity index 100%
rename from sandbox/elasticstack/src/test/resources/create_server.txt
rename to elasticstack/src/test/resources/create_server.txt
diff --git a/sandbox/elasticstack/src/test/resources/drive.txt b/elasticstack/src/test/resources/drive.txt
similarity index 100%
rename from sandbox/elasticstack/src/test/resources/drive.txt
rename to elasticstack/src/test/resources/drive.txt
diff --git a/sandbox/elasticstack/src/test/resources/drive_data.txt b/elasticstack/src/test/resources/drive_data.txt
similarity index 100%
rename from sandbox/elasticstack/src/test/resources/drive_data.txt
rename to elasticstack/src/test/resources/drive_data.txt
diff --git a/sandbox/elasticstack/src/test/resources/log4j.xml b/elasticstack/src/test/resources/log4j.xml
similarity index 100%
rename from sandbox/elasticstack/src/test/resources/log4j.xml
rename to elasticstack/src/test/resources/log4j.xml
diff --git a/sandbox/elasticstack/src/test/resources/new_server.txt b/elasticstack/src/test/resources/new_server.txt
similarity index 100%
rename from sandbox/elasticstack/src/test/resources/new_server.txt
rename to elasticstack/src/test/resources/new_server.txt
diff --git a/sandbox/elasticstack/src/test/resources/servers.txt b/elasticstack/src/test/resources/servers.txt
similarity index 100%
rename from sandbox/elasticstack/src/test/resources/servers.txt
rename to elasticstack/src/test/resources/servers.txt
diff --git a/sandbox/elasticstack/src/test/resources/uuids.txt b/elasticstack/src/test/resources/uuids.txt
similarity index 100%
rename from sandbox/elasticstack/src/test/resources/uuids.txt
rename to elasticstack/src/test/resources/uuids.txt