diff --git a/.gitignore b/.gitignore
index f6f8a2a6d6aa8c7b7791a81ec47ca7b0517fcf31..1ee02befc225b0c4b6b28a671f99d8e7737bae98 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@ velocity.log
 .gradle
 build/
 *.iml
+/build-eclipse/
diff --git a/build.gradle b/build.gradle
index 2abe0cc8ab1efd70907cdc79106b152e690f39a7..db08a73de3589ed2e108a7cf9f87b218cb3f4b3a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
 group = 'de.flapdoodle.embedmongo'
 version = '1.47.1-SNAPSHOT'
 
-project.ext.gradleVersion = "1.12"
+project.ext.gradleVersion = "2.3"
 
 apply plugin: 'java'
 apply plugin: 'eclipse'
@@ -21,17 +21,16 @@ eclipse {
 
 dependencies {
 
-    compile 'commons-io:commons-io:2.1'
+    compile 'commons-io:commons-io:2.4'
     compile 'de.flapdoodle.embed:de.flapdoodle.embed.process:1.41.0'
-    compile 'org.mongodb:mongo-java-driver:2.11.3'
-    compile 'org.slf4j:slf4j-api:1.7.10'
+    compile 'org.mongodb:mongo-java-driver:2.13.0'
+    compile 'org.slf4j:slf4j-api:1.7.12'
 
-    testCompile 'junit:junit:4.11'
-    testCompile 'org.mongodb:mongo-java-driver:2.6.3'
+    testCompile 'junit:junit:4.12'
     testCompile 'org.mockito:mockito-core:1.9.0'
     testCompile 'org.mortbay.jetty:jetty:6.1.25'
-    testCompile 'com.google.guava:guava:14.0.1'
-    testCompile 'org.slf4j:slf4j-simple:1.7.10'
+    testCompile 'com.google.guava:guava:18.0'
+    testCompile 'org.slf4j:slf4j-simple:1.7.12'
 }
 
 task wrapper(type: Wrapper) {
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 0087cd3b18659b5577cf6ad3ef61f8eb9416ebba..085a1cdc27db1185342f15a00441734e74fe3735 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 15b058c9f6ec2f1ad1f7ce95ec1574f4c7f30694..d4a16eaa8856a4af60585ef2e8b2197860c7a757 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Jun 01 21:43:17 CEST 2014
+#Fri Apr 10 09:53:17 CEST 2015
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-bin.zip
diff --git a/pom.xml b/pom.xml
index 7fd6ed012f5fe62f6b9a34ad7a8055fad7b6aad6..cde390f4ec003b1fbbd4637623c3a9d1757cdc61 100644
--- a/pom.xml
+++ b/pom.xml
@@ -293,7 +293,7 @@
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
-			<version>4.11</version>
+			<version>4.12</version>
 			<scope>test</scope>
 		</dependency>
 
@@ -313,7 +313,7 @@
 		<dependency>
 			<groupId>org.mongodb</groupId>
 			<artifactId>mongo-java-driver</artifactId>
-			<version>2.11.3</version>
+			<version>2.13.0</version>
 			<scope>compile</scope>
 			<optional>true</optional>
 		</dependency>
@@ -321,7 +321,7 @@
 		<dependency>
 			<groupId>com.google.guava</groupId>
 			<artifactId>guava</artifactId>
-			<version>14.0.1</version>
+			<version>18.0</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
@@ -340,7 +340,7 @@
 		<dependency>
 			<groupId>org.slf4j</groupId>
 			<artifactId>slf4j-simple</artifactId>
-			<version>1.7.10</version>
+			<version>1.7.12</version>
 			<scope>test</scope>
 		</dependency>
 	</dependencies>
diff --git a/src/main/java/de/flapdoodle/embed/mongo/AbstractMongoProcess.java b/src/main/java/de/flapdoodle/embed/mongo/AbstractMongoProcess.java
index 61a33ba720c6f69a6ad1acaf89fe7afcd21a535b..7ddd36a0f98d4656a71231a7b82bff9b7331c14c 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/AbstractMongoProcess.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/AbstractMongoProcess.java
@@ -24,6 +24,7 @@ import java.io.IOException;
 import java.net.UnknownHostException;
 import java.util.HashSet;
 import java.util.Set;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongoImportExecutable.java b/src/main/java/de/flapdoodle/embed/mongo/MongoImportExecutable.java
index 7c0cfd45ad821b873c74697c33a23988fc6f9150..e5587f65c3986603f74b449dc99f4ef3687312df 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongoImportExecutable.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongoImportExecutable.java
@@ -21,15 +21,14 @@
  */
 package de.flapdoodle.embed.mongo;
 
+import java.io.IOException;
+
 import de.flapdoodle.embed.mongo.config.IMongoImportConfig;
-import de.flapdoodle.embed.mongo.config.IMongosConfig;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
 import de.flapdoodle.embed.process.distribution.Distribution;
 import de.flapdoodle.embed.process.extract.IExtractedFileSet;
 import de.flapdoodle.embed.process.runtime.Executable;
 
-import java.io.IOException;
-
 /**
  * Created by canyaman on 10/04/14.
  */
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongoImportProcess.java b/src/main/java/de/flapdoodle/embed/mongo/MongoImportProcess.java
index d182bc36b57eea5f5eec198872f900a4fb18ddd5..f4bc2a6e7cf8be8a549042bbff7a44b176984e8e 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongoImportProcess.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongoImportProcess.java
@@ -21,15 +21,15 @@
  */
 package de.flapdoodle.embed.mongo;
 
+import java.io.IOException;
+import java.util.List;
+
 import de.flapdoodle.embed.mongo.config.IMongoImportConfig;
 import de.flapdoodle.embed.mongo.runtime.MongoImport;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
 import de.flapdoodle.embed.process.distribution.Distribution;
 import de.flapdoodle.embed.process.extract.IExtractedFileSet;
 
-import java.io.IOException;
-import java.util.List;
-
 /**
  * Created by canyaman on 10/04/14.
  */
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongoImportStarter.java b/src/main/java/de/flapdoodle/embed/mongo/MongoImportStarter.java
index 1292815055a773581941d0cd7390d89e4f4f8ba3..e9ca8fb76239cb40220ed35bbd080a8cdd9db199 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongoImportStarter.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongoImportStarter.java
@@ -22,7 +22,6 @@
 package de.flapdoodle.embed.mongo;
 
 import de.flapdoodle.embed.mongo.config.IMongoImportConfig;
-import de.flapdoodle.embed.mongo.config.IMongosConfig;
 import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
 import de.flapdoodle.embed.process.distribution.Distribution;
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongoShellProcess.java b/src/main/java/de/flapdoodle/embed/mongo/MongoShellProcess.java
index 2840899046e1f715a9575a71f28d152fdc9f45a2..9b0bd4bf4446f974fbdff2cafb626dfa6b249558 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongoShellProcess.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongoShellProcess.java
@@ -24,10 +24,8 @@ import java.io.IOException;
 import java.util.List;
 
 import de.flapdoodle.embed.mongo.config.IMongoShellConfig;
-import de.flapdoodle.embed.mongo.config.SupportConfig;
 import de.flapdoodle.embed.mongo.runtime.MongoShell;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
-import de.flapdoodle.embed.process.config.ISupportConfig;
 import de.flapdoodle.embed.process.distribution.Distribution;
 import de.flapdoodle.embed.process.extract.IExtractedFileSet;
 
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java b/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java
index bb48ef023ae8236d1a4cda83eccce02d969a0d7a..e3fd52d06541409fdcc1c40ab3eaa21a39cc55fd 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java
@@ -23,14 +23,13 @@ package de.flapdoodle.embed.mongo;
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import de.flapdoodle.embed.mongo.config.IMongodConfig;
-import de.flapdoodle.embed.mongo.config.SupportConfig;
 import de.flapdoodle.embed.mongo.runtime.Mongod;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
-import de.flapdoodle.embed.process.config.ISupportConfig;
 import de.flapdoodle.embed.process.distribution.Distribution;
 import de.flapdoodle.embed.process.extract.IExtractedFileSet;
 import de.flapdoodle.embed.process.io.directories.PropertyOrPlatformTempDir;
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java b/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java
index a1f1ac8483bc6eccaeaeafd73243b60161777822..9441c932bacf9408cee96cabaf0aead46cf7eff2 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java
@@ -22,11 +22,8 @@ package de.flapdoodle.embed.mongo;
 
 import de.flapdoodle.embed.mongo.config.IMongodConfig;
 import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder;
-import de.flapdoodle.embed.mongo.config.SupportConfig;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
 import de.flapdoodle.embed.process.distribution.Distribution;
-import de.flapdoodle.embed.process.exceptions.DistributionException;
-import de.flapdoodle.embed.process.extract.ExecutableFileAlreadyExistsException;
 import de.flapdoodle.embed.process.extract.IExtractedFileSet;
 import de.flapdoodle.embed.process.runtime.Starter;
 
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongosProcess.java b/src/main/java/de/flapdoodle/embed/mongo/MongosProcess.java
index 591abbd0247f30b6020149caf1f0ff1b98d52160..6d5e3afe1b6d6138363126bde7c61e99ba343fab 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongosProcess.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongosProcess.java
@@ -24,10 +24,8 @@ import java.io.IOException;
 import java.util.List;
 
 import de.flapdoodle.embed.mongo.config.IMongosConfig;
-import de.flapdoodle.embed.mongo.config.MongosSupportConfig;
 import de.flapdoodle.embed.mongo.runtime.Mongos;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
-import de.flapdoodle.embed.process.config.ISupportConfig;
 import de.flapdoodle.embed.process.distribution.Distribution;
 import de.flapdoodle.embed.process.extract.IExtractedFileSet;
 
diff --git a/src/main/java/de/flapdoodle/embed/mongo/Paths.java b/src/main/java/de/flapdoodle/embed/mongo/Paths.java
index 365fbcfb769e2603e17e7b3f7bb7aa6f8e56ed3d..2cb3e1aba57f00e0e829da4b17596a27d3b5ebb5 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/Paths.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/Paths.java
@@ -23,7 +23,11 @@ package de.flapdoodle.embed.mongo;
 import de.flapdoodle.embed.process.config.store.FileSet;
 import de.flapdoodle.embed.process.config.store.FileType;
 import de.flapdoodle.embed.process.config.store.IPackageResolver;
-import de.flapdoodle.embed.process.distribution.*;
+import de.flapdoodle.embed.process.distribution.ArchiveType;
+import de.flapdoodle.embed.process.distribution.BitSize;
+import de.flapdoodle.embed.process.distribution.Distribution;
+import de.flapdoodle.embed.process.distribution.IVersion;
+import de.flapdoodle.embed.process.distribution.Platform;
 
 /**
  *
diff --git a/src/main/java/de/flapdoodle/embed/mongo/config/AbstractMongoConfigBuilder.java b/src/main/java/de/flapdoodle/embed/mongo/config/AbstractMongoConfigBuilder.java
index 3288da5873dce87eef7bd8562d14bbef0110fce1..fdd10b85bfb0f59a1cbe3eb24ec1c8e01b266cd8 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/config/AbstractMongoConfigBuilder.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/config/AbstractMongoConfigBuilder.java
@@ -28,7 +28,6 @@ import de.flapdoodle.embed.process.builder.AbstractBuilder;
 import de.flapdoodle.embed.process.builder.IProperty;
 import de.flapdoodle.embed.process.builder.TypedProperty;
 import de.flapdoodle.embed.process.config.ISupportConfig;
-import de.flapdoodle.embed.process.distribution.IVersion;
 
 public abstract class AbstractMongoConfigBuilder<T extends IMongoConfig> extends AbstractBuilder<T> {
 
diff --git a/src/main/java/de/flapdoodle/embed/mongo/config/IMongodConfig.java b/src/main/java/de/flapdoodle/embed/mongo/config/IMongodConfig.java
index 92021397c53a41b12ded42af602cd3ba9fdd3e69..37e7190750da1f820b4f9994b8617987b19982f9 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/config/IMongodConfig.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/config/IMongodConfig.java
@@ -20,10 +20,10 @@
  */
 package de.flapdoodle.embed.mongo.config;
 
-import de.flapdoodle.embed.mongo.config.processlistener.IMongoProcessListener;
-
 import java.util.Map;
 
+import de.flapdoodle.embed.mongo.config.processlistener.IMongoProcessListener;
+
 public interface IMongodConfig extends IMongoConfig {
 
 	Storage replication();
diff --git a/src/main/java/de/flapdoodle/embed/mongo/config/MongoImportConfigBuilder.java b/src/main/java/de/flapdoodle/embed/mongo/config/MongoImportConfigBuilder.java
index 2de25f47156f46a30e9cf318beeece9773e9e568..98927c2ad2e068245fcc13c4a40c74253dccfcca 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/config/MongoImportConfigBuilder.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/config/MongoImportConfigBuilder.java
@@ -21,14 +21,13 @@
  */
 package de.flapdoodle.embed.mongo.config;
 
+import java.io.IOException;
+import java.net.UnknownHostException;
+
 import de.flapdoodle.embed.mongo.Command;
-import de.flapdoodle.embed.mongo.config.processlistener.IMongoProcessListener;
 import de.flapdoodle.embed.mongo.distribution.IFeatureAwareVersion;
 import de.flapdoodle.embed.process.builder.TypedProperty;
 
-import java.io.IOException;
-import java.net.UnknownHostException;
-
 /**
  * Created by canyaman on 10/04/14.
  */
diff --git a/src/main/java/de/flapdoodle/embed/mongo/config/MongoShellConfigBuilder.java b/src/main/java/de/flapdoodle/embed/mongo/config/MongoShellConfigBuilder.java
index dd5aa7019a34568e0a8a35b7a8d59dca35bd967d..15ab6d806820883764ac2893b6d71e71c4f0baba 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/config/MongoShellConfigBuilder.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/config/MongoShellConfigBuilder.java
@@ -20,10 +20,6 @@
  */
 package de.flapdoodle.embed.mongo.config;
 
-import de.flapdoodle.embed.mongo.Command;
-import de.flapdoodle.embed.mongo.distribution.IFeatureAwareVersion;
-import de.flapdoodle.embed.process.builder.TypedProperty;
-
 import java.io.IOException;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
diff --git a/src/main/java/de/flapdoodle/embed/mongo/config/MongodConfigBuilder.java b/src/main/java/de/flapdoodle/embed/mongo/config/MongodConfigBuilder.java
index 74b32febbb966e6930b7e58aed6cb17ecd97a4be..895054c6523645765cc9728063a7362564eaedf1 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/config/MongodConfigBuilder.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/config/MongodConfigBuilder.java
@@ -30,7 +30,6 @@ import de.flapdoodle.embed.mongo.config.processlistener.IMongoProcessListener;
 import de.flapdoodle.embed.mongo.config.processlistener.NoopProcessListener;
 import de.flapdoodle.embed.mongo.distribution.IFeatureAwareVersion;
 import de.flapdoodle.embed.process.builder.TypedProperty;
-import de.flapdoodle.embed.process.distribution.IVersion;
 
 public class MongodConfigBuilder extends AbstractMongoConfigBuilder<IMongodConfig> {
 
diff --git a/src/main/java/de/flapdoodle/embed/mongo/config/MongosConfigBuilder.java b/src/main/java/de/flapdoodle/embed/mongo/config/MongosConfigBuilder.java
index 39a0a73ded1c63902cee5e93a46aa121520bdb24..e631efe5ddd6973bd00856c2a0bfcaeaec52196c 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/config/MongosConfigBuilder.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/config/MongosConfigBuilder.java
@@ -25,7 +25,6 @@ import java.net.UnknownHostException;
 
 import de.flapdoodle.embed.mongo.distribution.IFeatureAwareVersion;
 import de.flapdoodle.embed.process.builder.TypedProperty;
-import de.flapdoodle.embed.process.distribution.IVersion;
 
 public class MongosConfigBuilder extends AbstractMongoConfigBuilder<IMongosConfig> {
 
diff --git a/src/main/java/de/flapdoodle/embed/mongo/config/RuntimeConfigBuilder.java b/src/main/java/de/flapdoodle/embed/mongo/config/RuntimeConfigBuilder.java
index 80e5ec19ccebec8fd0f42c9edee6169052b7ae62..004dbc6de354fda3b5ed8231bc318366ac356e8d 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/config/RuntimeConfigBuilder.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/config/RuntimeConfigBuilder.java
@@ -20,15 +20,14 @@
  */
 package de.flapdoodle.embed.mongo.config;
 
-import de.flapdoodle.embed.process.io.progress.LoggingProgressListener;
-import de.flapdoodle.embed.process.io.progress.Slf4jProgressListener;
+import java.util.logging.Level;
 
 import de.flapdoodle.embed.mongo.Command;
 import de.flapdoodle.embed.process.config.store.IDownloadConfig;
+import de.flapdoodle.embed.process.io.progress.LoggingProgressListener;
+import de.flapdoodle.embed.process.io.progress.Slf4jProgressListener;
 import de.flapdoodle.embed.process.runtime.ICommandLinePostProcessor;
 
-import java.util.logging.Level;
-
 
 public class RuntimeConfigBuilder extends de.flapdoodle.embed.process.config.RuntimeConfigBuilder {
 
diff --git a/src/main/java/de/flapdoodle/embed/mongo/config/SupportConfig.java b/src/main/java/de/flapdoodle/embed/mongo/config/SupportConfig.java
index 74a2cbae13e9083dd85a5b00e8728b91dcc52f84..7198076eb7ed5a72e9fa147050924c3d58e4ef56 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/config/SupportConfig.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/config/SupportConfig.java
@@ -21,8 +21,6 @@
 package de.flapdoodle.embed.mongo.config;
 
 import de.flapdoodle.embed.mongo.Command;
-import de.flapdoodle.embed.process.config.ISupportConfig;
-import de.flapdoodle.embed.process.extract.ExecutableFileAlreadyExistsException;
 
 
 public class SupportConfig extends AbstractSupportConfig {
diff --git a/src/main/java/de/flapdoodle/embed/mongo/distribution/Version.java b/src/main/java/de/flapdoodle/embed/mongo/distribution/Version.java
index 8f696f6c71c327260f60cd77312aaa0bbfaba75a..134ffda40da60bad78b6061b83c839e171714cc5 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/distribution/Version.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/distribution/Version.java
@@ -148,6 +148,7 @@ public enum Version implements IFeatureAwareVersion {
    */
   V3_0_0("3.0.0", Feature.SYNC_DELAY),
   V3_0_1("3.0.1",Feature.SYNC_DELAY),
+  V3_0_2("3.0.2",Feature.SYNC_DELAY),
   /**
    * Latest 3.1 series development release
    */
@@ -200,7 +201,7 @@ public enum Version implements IFeatureAwareVersion {
 		/**
 		 * Latest production release
 		 */
-		V3_0(V3_0_1),
+		V3_0(V3_0_2),
 		/**
 		 * Latest development release
 		 */
diff --git a/src/main/java/de/flapdoodle/embed/mongo/runtime/AbstractMongo.java b/src/main/java/de/flapdoodle/embed/mongo/runtime/AbstractMongo.java
index b7f13711d41fd598d2cf7a1ef086795655fd8f44..c99d208bb31f9f7681db87233c0ce369d8161468 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/runtime/AbstractMongo.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/runtime/AbstractMongo.java
@@ -22,10 +22,8 @@ package de.flapdoodle.embed.mongo.runtime;
 
 import java.util.List;
 
-import de.flapdoodle.embed.mongo.config.IMongoCmdOptions;
 import de.flapdoodle.embed.mongo.config.IMongoConfig;
 import de.flapdoodle.embed.mongo.config.Net;
-import de.flapdoodle.embed.mongo.distribution.Feature;
 
 
 public class AbstractMongo {
diff --git a/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoImport.java b/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoImport.java
index a3a76d2933d19ceb96e111c8687e51e1219a5567..61126dd8d6699a6e9e030627c4da24302d8dfffa 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoImport.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoImport.java
@@ -21,14 +21,14 @@
  */
 package de.flapdoodle.embed.mongo.runtime;
 
-import de.flapdoodle.embed.mongo.config.IMongoImportConfig;
-import de.flapdoodle.embed.process.extract.IExtractedFileSet;
-
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import de.flapdoodle.embed.mongo.config.IMongoImportConfig;
+import de.flapdoodle.embed.process.extract.IExtractedFileSet;
+
 /**
  * Created by canyaman on 10/04/14.
  */
diff --git a/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoShell.java b/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoShell.java
index 4628b81f5fadb6d69ba0ea64bb1d348ff48169ed..4d74396232380ff2a7701a1916ab9f13451d6883 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoShell.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoShell.java
@@ -20,6 +20,8 @@
  */
 package de.flapdoodle.embed.mongo.runtime;
 
+import static java.util.Arrays.asList;
+
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -29,8 +31,6 @@ import de.flapdoodle.embed.mongo.config.IMongoShellConfig;
 import de.flapdoodle.embed.mongo.config.Net;
 import de.flapdoodle.embed.process.extract.IExtractedFileSet;
 
-import static java.util.Arrays.asList;
-
 /**
  *
  */
diff --git a/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java b/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java
index 5433fde1074c2b327ca23f2d0d85213f6f1ac4d1..1cd9db380f8743b87ec6afb301eca4d35fc2be34 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java
@@ -20,14 +20,8 @@
  */
 package de.flapdoodle.embed.mongo.runtime;
 
-import de.flapdoodle.embed.mongo.Command;
-import de.flapdoodle.embed.mongo.config.IMongoCmdOptions;
-import de.flapdoodle.embed.mongo.config.IMongodConfig;
-import de.flapdoodle.embed.mongo.config.SupportConfig;
-import de.flapdoodle.embed.mongo.distribution.Feature;
-import de.flapdoodle.embed.process.distribution.Distribution;
-import de.flapdoodle.embed.process.extract.IExtractedFileSet;
-import de.flapdoodle.embed.process.runtime.NUMA;
+import static java.lang.String.format;
+import static java.util.Arrays.asList;
 
 import java.io.File;
 import java.io.IOException;
@@ -38,15 +32,21 @@ import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import static java.lang.String.format;
-import static java.util.Arrays.asList;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import de.flapdoodle.embed.mongo.Command;
+import de.flapdoodle.embed.mongo.config.IMongoCmdOptions;
+import de.flapdoodle.embed.mongo.config.IMongodConfig;
+import de.flapdoodle.embed.mongo.config.SupportConfig;
+import de.flapdoodle.embed.mongo.distribution.Feature;
+import de.flapdoodle.embed.process.distribution.Distribution;
+import de.flapdoodle.embed.process.extract.IExtractedFileSet;
+import de.flapdoodle.embed.process.runtime.NUMA;
 
 /**
  *
diff --git a/src/main/java/de/flapdoodle/embed/mongo/tests/MongodForTestsFactory.java b/src/main/java/de/flapdoodle/embed/mongo/tests/MongodForTestsFactory.java
index ebcc334f53f229769455b117ed941b5ab43fa7ad..bcc54ab01c991539bc25fea49a5f284b25997e97 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/tests/MongodForTestsFactory.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/tests/MongodForTestsFactory.java
@@ -23,6 +23,7 @@ package de.flapdoodle.embed.mongo.tests;
 import java.io.IOException;
 import java.net.UnknownHostException;
 import java.util.UUID;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/src/main/java/de/flapdoodle/embed/mongo/tests/MongosForTestsFactory.java b/src/main/java/de/flapdoodle/embed/mongo/tests/MongosForTestsFactory.java
index 40cd24e6d1f84053862f7526dfed5c66beabb961..e7b464a9a8defbbc644ef5cc4dd5ee6dbab4d27c 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/tests/MongosForTestsFactory.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/tests/MongosForTestsFactory.java
@@ -23,11 +23,13 @@ package de.flapdoodle.embed.mongo.tests;
 import java.io.IOException;
 import java.net.UnknownHostException;
 import java.util.UUID;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.mongodb.DB;
 import com.mongodb.Mongo;
+import com.mongodb.MongoClient;
 import com.mongodb.MongoException;
 import com.mongodb.ServerAddress;
 
@@ -41,7 +43,6 @@ import de.flapdoodle.embed.mongo.config.Net;
 import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder;
 import de.flapdoodle.embed.mongo.distribution.IFeatureAwareVersion;
 import de.flapdoodle.embed.mongo.distribution.Version;
-import de.flapdoodle.embed.process.distribution.IVersion;
 import de.flapdoodle.embed.process.runtime.Network;
 
 /**
@@ -120,7 +121,7 @@ public class MongosForTestsFactory {
 	 * @throws UnknownHostException
 	 */
 	public Mongo newMongo() throws UnknownHostException, MongoException {
-		return new Mongo(new ServerAddress(mongosProcess.getConfig().net().getServerAddress(),
+		return new MongoClient(new ServerAddress(mongosProcess.getConfig().net().getServerAddress(),
 				mongosProcess.getConfig().net().getPort()));
 	}
 	
diff --git a/src/main/java/de/flapdoodle/embed/mongo/tests/MongosSystemForTestFactory.java b/src/main/java/de/flapdoodle/embed/mongo/tests/MongosSystemForTestFactory.java
index 3478260d9d8cf72f69afdee3612644900f220cc3..d2dbb5ff15ea1e78322ecde9604a1d1e1a028d9f 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/tests/MongosSystemForTestFactory.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/tests/MongosSystemForTestFactory.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -38,7 +39,6 @@ import com.mongodb.Mongo;
 import com.mongodb.MongoClient;
 import com.mongodb.MongoClientOptions;
 import com.mongodb.MongoException;
-import com.mongodb.MongoOptions;
 import com.mongodb.ServerAddress;
 
 import de.flapdoodle.embed.mongo.Command;
@@ -209,11 +209,10 @@ public class MongosSystemForTestFactory {
 
 	private void configureMongos() throws Exception {
 		CommandResult cr;
-		MongoOptions mo = new MongoOptions();
-		mo.autoConnectRetry = true;
-		Mongo mongo = new Mongo(
+		MongoClientOptions options = MongoClientOptions.builder().autoConnectRetry(true).build();
+		Mongo mongo = new MongoClient(
 				new ServerAddress(this.config.net().getServerAddress()
-						.getHostName(), this.config.net().getPort()), mo);
+						.getHostName(), this.config.net().getPort()), options);
 		DB mongoAdminDB = mongo.getDB(ADMIN_DATABASE_NAME);
 
 		// Add shard from the replica set list
@@ -248,7 +247,7 @@ public class MongosSystemForTestFactory {
 		// Create index in sharded collection
 		logger.info("Create index in sharded collection");
 		DB db = mongo.getDB(this.shardDatabase);
-		db.getCollection(this.shardCollection).ensureIndex(this.shardKey);
+		db.getCollection(this.shardCollection).createIndex(this.shardKey);
 
 		// Shard the collection
 		logger.info("Shard the collection: {}.{}", this.shardDatabase, this.shardCollection);
@@ -268,7 +267,7 @@ public class MongosSystemForTestFactory {
 	}
 
 	public Mongo getMongo() throws UnknownHostException, MongoException {
-		return new Mongo(new ServerAddress(mongosProcess.getConfig().net()
+		return new MongoClient(new ServerAddress(mongosProcess.getConfig().net()
 				.getServerAddress(), mongosProcess.getConfig().net().getPort()));
 	}
 
diff --git a/src/test/java/de/flapdoodle/embed/mongo/MongoDBExampleAllVersionsTest.java b/src/test/java/de/flapdoodle/embed/mongo/MongoDBExampleAllVersionsTest.java
index 9d611b7e64e1e3a9ebd85414227338d9e1cc14c2..ecf59add4ebf1445b87b6d0484507742b1b117b1 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/MongoDBExampleAllVersionsTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/MongoDBExampleAllVersionsTest.java
@@ -35,6 +35,7 @@ import com.mongodb.BasicDBObject;
 import com.mongodb.DB;
 import com.mongodb.DBCollection;
 import com.mongodb.Mongo;
+import com.mongodb.MongoClient;
 import com.mongodb.ServerAddress;
 
 import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
@@ -83,7 +84,7 @@ public class MongoDBExampleAllVersionsTest {
 				Network.localhostIsIPv6())).build());
 		mongod = mongodExe.start();
 
-		mongo = new Mongo(new ServerAddress(Network.getLocalHost(), PORT));
+		mongo = new MongoClient(new ServerAddress(Network.getLocalHost(), PORT));
 	}
 
 	@After
diff --git a/src/test/java/de/flapdoodle/embed/mongo/MongoDBRuntimeTest.java b/src/test/java/de/flapdoodle/embed/mongo/MongoDBRuntimeTest.java
index f4971d2eb9b03384989583e1dab2df8ddf256b7a..08e76118027365f29ad900d29f8763210c2d7fa5 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/MongoDBRuntimeTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/MongoDBRuntimeTest.java
@@ -20,11 +20,24 @@
  */
 package de.flapdoodle.embed.mongo;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import junit.framework.TestCase;
+
 import com.mongodb.BasicDBObject;
 import com.mongodb.DB;
 import com.mongodb.DBCollection;
 import com.mongodb.Mongo;
-import de.flapdoodle.embed.mongo.config.*;
+import com.mongodb.MongoClient;
+
+import de.flapdoodle.embed.mongo.config.ArtifactStoreBuilder;
+import de.flapdoodle.embed.mongo.config.DownloadConfigBuilder;
+import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
+import de.flapdoodle.embed.mongo.config.Net;
+import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder;
 import de.flapdoodle.embed.mongo.distribution.Version;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
 import de.flapdoodle.embed.process.distribution.BitSize;
@@ -33,12 +46,6 @@ import de.flapdoodle.embed.process.distribution.IVersion;
 import de.flapdoodle.embed.process.distribution.Platform;
 import de.flapdoodle.embed.process.extract.IExtractedFileSet;
 import de.flapdoodle.embed.process.runtime.Network;
-import junit.framework.TestCase;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
 
 // CHECKSTYLE:OFF
 public class MongoDBRuntimeTest extends TestCase {
@@ -141,7 +148,7 @@ public class MongoDBRuntimeTest extends TestCase {
 			mongodProcess = mongod.start();
 			timer.check("After mongodProcess");
 
-			Mongo mongo = new Mongo("localhost", port);
+			Mongo mongo = new MongoClient("localhost", port);
 			timer.check("After Mongo");
 			DB db = mongo.getDB("test");
 			timer.check("After DB test");
diff --git a/src/test/java/de/flapdoodle/embed/mongo/MongoExecutableTest.java b/src/test/java/de/flapdoodle/embed/mongo/MongoExecutableTest.java
index 8c4631165c5ab19cadb0754a5e5379196d16d25f..d1fbed69f43c6f70dfb757e1b1b89791c955681a 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/MongoExecutableTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/MongoExecutableTest.java
@@ -22,18 +22,17 @@ package de.flapdoodle.embed.mongo;
 
 import java.io.IOException;
 import java.util.Date;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
-import junit.framework.Assert;
 import junit.framework.TestCase;
 
+import org.junit.Assert;
 import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.mongodb.BasicDBObject;
 import com.mongodb.DB;
 import com.mongodb.DBCollection;
-import com.mongodb.Mongo;
 import com.mongodb.MongoClient;
 import com.mongodb.ServerAddress;
 
diff --git a/src/test/java/de/flapdoodle/embed/mongo/MongoImportExecutableTest.java b/src/test/java/de/flapdoodle/embed/mongo/MongoImportExecutableTest.java
index 227b01742d86a682d1eb30d85c683789b1aaae4c..bafc7d641b8c6b9a42136f8b818685e9bd2b5b37 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/MongoImportExecutableTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/MongoImportExecutableTest.java
@@ -21,22 +21,26 @@
  */
 package de.flapdoodle.embed.mongo;
 
-import com.mongodb.*;
-import de.flapdoodle.embed.mongo.config.*;
-import de.flapdoodle.embed.mongo.distribution.Version;
-import de.flapdoodle.embed.mongo.runtime.MongoImport;
-import de.flapdoodle.embed.process.config.IRuntimeConfig;
-import de.flapdoodle.embed.process.runtime.Network;
-import junit.framework.Assert;
-import junit.framework.TestCase;
-import org.junit.Test;
-
 import java.io.IOException;
 import java.net.UnknownHostException;
-import java.util.Date;
+
+import junit.framework.TestCase;
+
+import org.junit.Assert;
+import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import de.flapdoodle.embed.mongo.config.IMongoImportConfig;
+import de.flapdoodle.embed.mongo.config.IMongodConfig;
+import de.flapdoodle.embed.mongo.config.MongoImportConfigBuilder;
+import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
+import de.flapdoodle.embed.mongo.config.Net;
+import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder;
+import de.flapdoodle.embed.mongo.distribution.Version;
+import de.flapdoodle.embed.process.config.IRuntimeConfig;
+import de.flapdoodle.embed.process.runtime.Network;
+
 /**
  * Created by canyaman on 10/04/14.
  */
diff --git a/src/test/java/de/flapdoodle/embed/mongo/TestPaths.java b/src/test/java/de/flapdoodle/embed/mongo/TestPaths.java
index 814b8b544c9acf25ed2c81ac0bc8a30d26f1e7b8..ff184cca3017310f813746fdc402598703b838d8 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/TestPaths.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/TestPaths.java
@@ -20,14 +20,12 @@
  */
 package de.flapdoodle.embed.mongo;
 
-import de.flapdoodle.embed.mongo.Paths;
+import junit.framework.TestCase;
 import de.flapdoodle.embed.mongo.distribution.Version;
 import de.flapdoodle.embed.process.distribution.BitSize;
 import de.flapdoodle.embed.process.distribution.Distribution;
 import de.flapdoodle.embed.process.distribution.Platform;
 
-import junit.framework.TestCase;
-
 //CHECKSTYLE:OFF
 public class TestPaths extends TestCase {
 
diff --git a/src/test/java/de/flapdoodle/embed/mongo/examples/AbstractMongoDBTest.java b/src/test/java/de/flapdoodle/embed/mongo/examples/AbstractMongoDBTest.java
index c2cb032cdf95577ed81e6b684cfb606b74c913c2..a7b17f2ea15c24479b6bcc180f636f0d7379154b 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/examples/AbstractMongoDBTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/examples/AbstractMongoDBTest.java
@@ -23,9 +23,6 @@ package de.flapdoodle.embed.mongo.examples;
 import java.io.IOException;
 import java.net.UnknownHostException;
 
-import org.junit.After;
-import org.junit.Before;
-
 import junit.framework.TestCase;
 
 import com.mongodb.Mongo;
diff --git a/src/test/java/de/flapdoodle/embed/mongo/examples/ConfigServerMongoDBTest.java b/src/test/java/de/flapdoodle/embed/mongo/examples/ConfigServerMongoDBTest.java
index 9e3e937064de323b49f6a505a2d15a13c7e096e7..bbb4719da4396d90347e0546b8b650a5a2b45763 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/examples/ConfigServerMongoDBTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/examples/ConfigServerMongoDBTest.java
@@ -28,7 +28,6 @@ import com.mongodb.CommandResult;
 import com.mongodb.DB;
 import com.mongodb.Mongo;
 import com.mongodb.MongoClient;
-import com.mongodb.MongoClientOptions;
 
 import de.flapdoodle.embed.mongo.MongodExecutable;
 import de.flapdoodle.embed.mongo.MongodProcess;
diff --git a/src/test/java/de/flapdoodle/embed/mongo/examples/DummyMongoDBTest.java b/src/test/java/de/flapdoodle/embed/mongo/examples/DummyMongoDBTest.java
index 13911687138aafa8db33621dd8a6023d09c3f0f9..5d8dd33d6309acaed44c3961d25ef64865752ef7 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/examples/DummyMongoDBTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/examples/DummyMongoDBTest.java
@@ -20,12 +20,12 @@
  */
 package de.flapdoodle.embed.mongo.examples;
 
+import java.util.Date;
+
 import com.mongodb.BasicDBObject;
 import com.mongodb.DB;
 import com.mongodb.DBCollection;
 
-import java.util.Date;
-
 
 public class DummyMongoDBTest extends AbstractMongoDBTest {
 
diff --git a/src/test/java/de/flapdoodle/embed/mongo/examples/ExperimentalTestEnabledMongoTest.java b/src/test/java/de/flapdoodle/embed/mongo/examples/ExperimentalTestEnabledMongoTest.java
index e700e16c886983aa769f45274eed401e96b44b84..c4020baf0eeacb908f90cc855beb78cd7dbf5e4d 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/examples/ExperimentalTestEnabledMongoTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/examples/ExperimentalTestEnabledMongoTest.java
@@ -20,20 +20,21 @@
  */
 package de.flapdoodle.embed.mongo.examples;
 
-import com.mongodb.*;
+import java.io.IOException;
+
+import com.mongodb.BasicDBList;
+import com.mongodb.BasicDBObject;
+import com.mongodb.CommandResult;
+import com.mongodb.DB;
+import com.mongodb.DBCollection;
+import com.mongodb.DBObject;
+
 import de.flapdoodle.embed.mongo.config.MongoCmdOptionsBuilder;
 import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
 import de.flapdoodle.embed.mongo.config.Net;
-import de.flapdoodle.embed.mongo.config.processlistener.ProcessListenerBuilder;
 import de.flapdoodle.embed.mongo.distribution.Version;
-import de.flapdoodle.embed.process.io.directories.PlatformTempDir;
-import de.flapdoodle.embed.process.io.file.Files;
 import de.flapdoodle.embed.process.runtime.Network;
 
-import java.io.IOException;
-import java.util.Date;
-import java.util.HashMap;
-
 
 public class ExperimentalTestEnabledMongoTest extends AbstractMongoDBTest {
 
@@ -49,7 +50,7 @@ public class ExperimentalTestEnabledMongoTest extends AbstractMongoDBTest {
     public void testCreateTextIndex() {
         DB db = getMongo().getDB("test");
         DBCollection col = db.createCollection("testCol", new BasicDBObject());
-        col.ensureIndex(new BasicDBObject("subject", "text"));
+        col.createIndex(new BasicDBObject("subject", "text"));
         col.save(new BasicDBObject("subject", "some text"));
 
         DBObject textSearchCommand = new BasicDBObject();
diff --git a/src/test/java/de/flapdoodle/embed/mongo/examples/ImportMongoDBTest.java b/src/test/java/de/flapdoodle/embed/mongo/examples/ImportMongoDBTest.java
index 3616eaa7fbb7e023c070fb3c203f2ae621d83488..adc14caea4b3fa87fed7b61314020ceea5e699b3 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/examples/ImportMongoDBTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/examples/ImportMongoDBTest.java
@@ -21,17 +21,28 @@
  */
 package de.flapdoodle.embed.mongo.examples;
 
-import com.mongodb.MongoClient;
-import de.flapdoodle.embed.mongo.*;
-import de.flapdoodle.embed.mongo.config.*;
-import de.flapdoodle.embed.mongo.distribution.Version;
-import de.flapdoodle.embed.process.runtime.Network;
+import java.io.IOException;
+import java.net.UnknownHostException;
+
 import junit.framework.TestCase;
+
 import org.junit.Test;
 
-import java.io.File;
-import java.io.IOException;
-import java.net.UnknownHostException;
+import com.mongodb.MongoClient;
+
+import de.flapdoodle.embed.mongo.MongoImportExecutable;
+import de.flapdoodle.embed.mongo.MongoImportProcess;
+import de.flapdoodle.embed.mongo.MongoImportStarter;
+import de.flapdoodle.embed.mongo.MongodExecutable;
+import de.flapdoodle.embed.mongo.MongodProcess;
+import de.flapdoodle.embed.mongo.MongodStarter;
+import de.flapdoodle.embed.mongo.config.IMongoImportConfig;
+import de.flapdoodle.embed.mongo.config.IMongodConfig;
+import de.flapdoodle.embed.mongo.config.MongoImportConfigBuilder;
+import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
+import de.flapdoodle.embed.mongo.config.Net;
+import de.flapdoodle.embed.mongo.distribution.Version;
+import de.flapdoodle.embed.process.runtime.Network;
 
 /**
  * Created by canyaman on 10/04/14.
diff --git a/src/test/java/de/flapdoodle/embed/mongo/examples/SnapshotDbFilesTest.java b/src/test/java/de/flapdoodle/embed/mongo/examples/SnapshotDbFilesTest.java
index a23ab6a732555ac491314375dfc897ef17de1d06..149a9d6cee1f35ae6a7e682b54a7a104144ce5b7 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/examples/SnapshotDbFilesTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/examples/SnapshotDbFilesTest.java
@@ -20,18 +20,19 @@
  */
 package de.flapdoodle.embed.mongo.examples;
 
+import java.io.IOException;
+import java.util.Date;
+
 import com.mongodb.BasicDBObject;
 import com.mongodb.DB;
 import com.mongodb.DBCollection;
+
 import de.flapdoodle.embed.mongo.config.MongoCmdOptionsBuilder;
 import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
 import de.flapdoodle.embed.mongo.config.processlistener.ProcessListenerBuilder;
 import de.flapdoodle.embed.process.io.directories.PlatformTempDir;
 import de.flapdoodle.embed.process.io.file.Files;
 
-import java.io.IOException;
-import java.util.Date;
-
 
 public class SnapshotDbFilesTest extends AbstractMongoDBTest {
 
diff --git a/src/test/java/de/flapdoodle/embed/mongo/examples/StartMongoDBServerAndMongoShellClientTest.java b/src/test/java/de/flapdoodle/embed/mongo/examples/StartMongoDBServerAndMongoShellClientTest.java
index 54feda0ab95baebf0ce9b2e4dc599c878dcd8c7e..d66a2118cf5069e4afa964695ff215c20c514de4 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/examples/StartMongoDBServerAndMongoShellClientTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/examples/StartMongoDBServerAndMongoShellClientTest.java
@@ -34,15 +34,10 @@ import de.flapdoodle.embed.mongo.MongoShellStarter;
 import de.flapdoodle.embed.mongo.MongodExecutable;
 import de.flapdoodle.embed.mongo.MongodProcess;
 import de.flapdoodle.embed.mongo.MongodStarter;
-import de.flapdoodle.embed.mongo.MongosExecutable;
-import de.flapdoodle.embed.mongo.MongosProcess;
-import de.flapdoodle.embed.mongo.MongosStarter;
 import de.flapdoodle.embed.mongo.config.IMongoShellConfig;
 import de.flapdoodle.embed.mongo.config.IMongodConfig;
-import de.flapdoodle.embed.mongo.config.IMongosConfig;
 import de.flapdoodle.embed.mongo.config.MongoShellConfigBuilder;
 import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
-import de.flapdoodle.embed.mongo.config.MongosConfigBuilder;
 import de.flapdoodle.embed.mongo.config.Net;
 import de.flapdoodle.embed.mongo.distribution.Version;
 import de.flapdoodle.embed.process.runtime.Network;
diff --git a/src/test/java/de/flapdoodle/embed/mongo/examples/TestExampleReadMeCode.java b/src/test/java/de/flapdoodle/embed/mongo/examples/TestExampleReadMeCode.java
index 6c5f677cabd2854df28449352197ea10b382c737..41669c86f714b995a6397ce85dacf887d73338a7 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/examples/TestExampleReadMeCode.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/examples/TestExampleReadMeCode.java
@@ -20,11 +20,25 @@
  */
 package de.flapdoodle.embed.mongo.examples;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.net.UnknownHostException;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import junit.framework.TestCase;
+
 import com.mongodb.BasicDBObject;
 import com.mongodb.DB;
 import com.mongodb.DBCollection;
 import com.mongodb.MongoClient;
 import com.mongodb.ServerAddress;
+
 import de.flapdoodle.embed.mongo.Command;
 import de.flapdoodle.embed.mongo.MongodExecutable;
 import de.flapdoodle.embed.mongo.MongodProcess;
@@ -59,18 +73,6 @@ import de.flapdoodle.embed.process.io.directories.IDirectory;
 import de.flapdoodle.embed.process.io.progress.LoggingProgressListener;
 import de.flapdoodle.embed.process.runtime.ICommandLinePostProcessor;
 import de.flapdoodle.embed.process.runtime.Network;
-import junit.framework.TestCase;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.UnknownHostException;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 public class TestExampleReadMeCode extends TestCase {
 
diff --git a/src/test/java/de/flapdoodle/embed/mongo/examples/TestExecutableNamingCollision.java b/src/test/java/de/flapdoodle/embed/mongo/examples/TestExecutableNamingCollision.java
index 86228ae601f94c995006d94a3d2436116a44ed6a..eec9d6ac5aa514d4718d854a006ce4bcdd9a2cfd 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/examples/TestExecutableNamingCollision.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/examples/TestExecutableNamingCollision.java
@@ -23,10 +23,10 @@ package de.flapdoodle.embed.mongo.examples;
 import java.io.IOException;
 import java.net.UnknownHostException;
 
-import org.junit.Test;
-
 import junit.framework.TestCase;
 
+import org.junit.Test;
+
 import com.mongodb.Mongo;
 import com.mongodb.MongoClient;
 
diff --git a/src/test/java/de/flapdoodle/embed/mongo/io/TestStreamToLineProcessor.java b/src/test/java/de/flapdoodle/embed/mongo/io/TestStreamToLineProcessor.java
index b149d7481c4e4cf7c0a57dddbe227428ea6b65d2..08d9f96410c434b0c7114c1fab7b76f04deaafd2 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/io/TestStreamToLineProcessor.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/io/TestStreamToLineProcessor.java
@@ -20,14 +20,13 @@
  */
 package de.flapdoodle.embed.mongo.io;
 
+import java.util.List;
+
+import junit.framework.TestCase;
 import de.flapdoodle.embed.process.collections.Collections;
 import de.flapdoodle.embed.process.io.IStreamProcessor;
 import de.flapdoodle.embed.process.io.StreamToLineProcessor;
 
-import junit.framework.TestCase;
-
-import java.util.List;
-
 //CHECKSTYLE:OFF
 public class TestStreamToLineProcessor extends TestCase {
 
diff --git a/src/test/java/de/flapdoodle/embed/mongo/output/ConsoleOneLineProgressListenerTest.java b/src/test/java/de/flapdoodle/embed/mongo/output/ConsoleOneLineProgressListenerTest.java
index f3be92ecca2b8938ca4d7ca7db3f24f03b22be7b..c9262c72ec9149c5be4753bcb08c2dd1c0ac8b94 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/output/ConsoleOneLineProgressListenerTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/output/ConsoleOneLineProgressListenerTest.java
@@ -20,9 +20,8 @@
  */
 package de.flapdoodle.embed.mongo.output;
 
-import de.flapdoodle.embed.process.io.progress.ConsoleOneLineProgressListener;
-
 import junit.framework.TestCase;
+import de.flapdoodle.embed.process.io.progress.ConsoleOneLineProgressListener;
 
 // CHECKSTYLE:OFF
 public class ConsoleOneLineProgressListenerTest extends TestCase {
diff --git a/src/test/java/de/flapdoodle/embed/mongo/runtime/TestMongod.java b/src/test/java/de/flapdoodle/embed/mongo/runtime/TestMongod.java
index d12f9f1f486e5298654e5653ba709acceda44d3e..6947dc3d3ca70e5da9802c2f80ef3e9af74e235f 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/runtime/TestMongod.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/runtime/TestMongod.java
@@ -20,7 +20,6 @@
  */
 package de.flapdoodle.embed.mongo.runtime;
 
-import de.flapdoodle.embed.mongo.runtime.Mongod;
 import junit.framework.TestCase;
 
 //CHECKSTYLE:OFF