diff --git a/README.md b/README.md
index cecd3d19..c824d3aa 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,6 @@ How to Use
_acme4j_ consists of a few modules:
* _acme4j-client_: This is the main module. It contains the ACME client and everything needed for communication with an ACME server.
-* _acme4j-letsencrypt_: A _Let's Encrypt_ service. Just add it as dependency, it will neatly plug into the client.
* _acme4j-utils_: Some utility classes that may be helpful for creating key pairs, certificates, and certificate signing requests. Requires [Bouncy Castle](https://www.bouncycastle.org/java.html).
* _acme4j-example_: An example tool that performs all steps for registering a new account at _Let's Encrypt_ and getting a certificate for a set of domain names. This is a good starting point to find out how _acme4j_ is used.
diff --git a/acme4j-letsencrypt/src/main/java/org/shredzone/acme4j/provider/LetsEncryptAcmeClientProvider.java b/acme4j-client/src/main/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptAcmeClientProvider.java
similarity index 92%
rename from acme4j-letsencrypt/src/main/java/org/shredzone/acme4j/provider/LetsEncryptAcmeClientProvider.java
rename to acme4j-client/src/main/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptAcmeClientProvider.java
index bdc62e46..2a24ce5d 100644
--- a/acme4j-letsencrypt/src/main/java/org/shredzone/acme4j/provider/LetsEncryptAcmeClientProvider.java
+++ b/acme4j-client/src/main/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptAcmeClientProvider.java
@@ -11,12 +11,14 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
-package org.shredzone.acme4j.provider;
+package org.shredzone.acme4j.provider.letsencrypt;
import java.net.URI;
import java.net.URISyntaxException;
import org.shredzone.acme4j.connector.HttpConnector;
+import org.shredzone.acme4j.provider.AbstractAcmeClientProvider;
+import org.shredzone.acme4j.provider.AcmeClientProvider;
/**
* An {@link AcmeClientProvider} for Let's Encrypt.
diff --git a/acme4j-letsencrypt/src/main/java/org/shredzone/acme4j/provider/LetsEncryptHttpConnector.java b/acme4j-client/src/main/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptHttpConnector.java
similarity index 98%
rename from acme4j-letsencrypt/src/main/java/org/shredzone/acme4j/provider/LetsEncryptHttpConnector.java
rename to acme4j-client/src/main/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptHttpConnector.java
index eaa5d710..959388d6 100644
--- a/acme4j-letsencrypt/src/main/java/org/shredzone/acme4j/provider/LetsEncryptHttpConnector.java
+++ b/acme4j-client/src/main/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptHttpConnector.java
@@ -11,7 +11,7 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
-package org.shredzone.acme4j.provider;
+package org.shredzone.acme4j.provider.letsencrypt;
import java.io.IOException;
import java.net.HttpURLConnection;
diff --git a/acme4j-client/src/main/resources/META-INF/services/org.shredzone.acme4j.provider.AcmeClientProvider b/acme4j-client/src/main/resources/META-INF/services/org.shredzone.acme4j.provider.AcmeClientProvider
index 70f99082..82df2db3 100644
--- a/acme4j-client/src/main/resources/META-INF/services/org.shredzone.acme4j.provider.AcmeClientProvider
+++ b/acme4j-client/src/main/resources/META-INF/services/org.shredzone.acme4j.provider.AcmeClientProvider
@@ -1,2 +1,5 @@
# Generic
org.shredzone.acme4j.provider.GenericAcmeClientProvider
+
+# Let's Encrypt: https://letsencrypt.org
+org.shredzone.acme4j.provider.letsencrypt.LetsEncryptAcmeClientProvider
diff --git a/acme4j-letsencrypt/src/main/resources/org/shredzone/acme4j/letsencrypt.truststore b/acme4j-client/src/main/resources/org/shredzone/acme4j/letsencrypt.truststore
similarity index 100%
rename from acme4j-letsencrypt/src/main/resources/org/shredzone/acme4j/letsencrypt.truststore
rename to acme4j-client/src/main/resources/org/shredzone/acme4j/letsencrypt.truststore
diff --git a/acme4j-letsencrypt/src/test/java/org/shredzone/acme4j/provider/LetsEncryptAcmeClientProviderTest.java b/acme4j-client/src/test/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptAcmeClientProviderTest.java
similarity index 95%
rename from acme4j-letsencrypt/src/test/java/org/shredzone/acme4j/provider/LetsEncryptAcmeClientProviderTest.java
rename to acme4j-client/src/test/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptAcmeClientProviderTest.java
index 894f5786..6b679ed9 100644
--- a/acme4j-letsencrypt/src/test/java/org/shredzone/acme4j/provider/LetsEncryptAcmeClientProviderTest.java
+++ b/acme4j-client/src/test/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptAcmeClientProviderTest.java
@@ -11,7 +11,7 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
-package org.shredzone.acme4j.provider;
+package org.shredzone.acme4j.provider.letsencrypt;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.*;
@@ -20,6 +20,7 @@ import java.net.URI;
import java.net.URISyntaxException;
import org.junit.Test;
+import org.shredzone.acme4j.provider.letsencrypt.LetsEncryptAcmeClientProvider;
/**
* Unit tests for {@link LetsEncryptAcmeClientProvider}.
diff --git a/acme4j-letsencrypt/src/test/java/org/shredzone/acme4j/provider/LetsEncryptHttpConnectorTest.java b/acme4j-client/src/test/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptHttpConnectorTest.java
similarity index 95%
rename from acme4j-letsencrypt/src/test/java/org/shredzone/acme4j/provider/LetsEncryptHttpConnectorTest.java
rename to acme4j-client/src/test/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptHttpConnectorTest.java
index ba86ba0e..51190b2d 100644
--- a/acme4j-letsencrypt/src/test/java/org/shredzone/acme4j/provider/LetsEncryptHttpConnectorTest.java
+++ b/acme4j-client/src/test/java/org/shredzone/acme4j/provider/letsencrypt/LetsEncryptHttpConnectorTest.java
@@ -11,7 +11,7 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
-package org.shredzone.acme4j.provider;
+package org.shredzone.acme4j.provider.letsencrypt;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
@@ -27,6 +27,7 @@ import javax.net.ssl.SSLSocketFactory;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.shredzone.acme4j.provider.letsencrypt.LetsEncryptHttpConnector;
/**
* Unit test for {@link LetsEncryptHttpConnector}.
diff --git a/acme4j-example/pom.xml b/acme4j-example/pom.xml
index 2736edb6..9d377bdc 100644
--- a/acme4j-example/pom.xml
+++ b/acme4j-example/pom.xml
@@ -54,11 +54,6 @@
acme4j-client
${project.version}
-
- org.shredzone.acme4j
- acme4j-letsencrypt
- ${project.version}
-
org.shredzone.acme4j
acme4j-utils
diff --git a/acme4j-letsencrypt/.project b/acme4j-letsencrypt/.project
deleted file mode 100644
index c27bcaa8..00000000
--- a/acme4j-letsencrypt/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- acme4j-letsencrypt
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/acme4j-letsencrypt/pom.xml b/acme4j-letsencrypt/pom.xml
deleted file mode 100644
index 06798524..00000000
--- a/acme4j-letsencrypt/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
- 4.0.0
-
-
- org.shredzone.acme4j
- acme4j
- 0.1-SNAPSHOT
-
-
- acme4j-letsencrypt
-
- acme4j Let's Encrypt
- Let's Encrypt service provider for acme4j
-
-
-
- org.shredzone.acme4j
- acme4j-client
- ${parent.version}
-
-
-
diff --git a/acme4j-letsencrypt/src/main/java/.gitignore b/acme4j-letsencrypt/src/main/java/.gitignore
deleted file mode 100644
index e69de29b..00000000
diff --git a/acme4j-letsencrypt/src/main/resources/.gitignore b/acme4j-letsencrypt/src/main/resources/.gitignore
deleted file mode 100644
index e69de29b..00000000
diff --git a/acme4j-letsencrypt/src/main/resources/META-INF/services/org.shredzone.acme4j.provider.AcmeClientProvider b/acme4j-letsencrypt/src/main/resources/META-INF/services/org.shredzone.acme4j.provider.AcmeClientProvider
deleted file mode 100644
index 26881f11..00000000
--- a/acme4j-letsencrypt/src/main/resources/META-INF/services/org.shredzone.acme4j.provider.AcmeClientProvider
+++ /dev/null
@@ -1,2 +0,0 @@
-# Let's Encrypt: https://letsencrypt.org
-org.shredzone.acme4j.provider.LetsEncryptAcmeClientProvider
diff --git a/acme4j-letsencrypt/src/site/apt/index.apt b/acme4j-letsencrypt/src/site/apt/index.apt
deleted file mode 100644
index aa2a6976..00000000
--- a/acme4j-letsencrypt/src/site/apt/index.apt
+++ /dev/null
@@ -1 +0,0 @@
- Let's Encrypt service provider for the Java ACME client.
diff --git a/acme4j-letsencrypt/src/site/resources/css/site.css b/acme4j-letsencrypt/src/site/resources/css/site.css
deleted file mode 100644
index 992965e2..00000000
--- a/acme4j-letsencrypt/src/site/resources/css/site.css
+++ /dev/null
@@ -1,6 +0,0 @@
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
- background: none;
- padding-right: 0;
-}
-
-
diff --git a/acme4j-letsencrypt/src/site/site.xml b/acme4j-letsencrypt/src/site/site.xml
deleted file mode 100644
index d94a2741..00000000
--- a/acme4j-letsencrypt/src/site/site.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/acme4j-letsencrypt/src/test/java/.gitignore b/acme4j-letsencrypt/src/test/java/.gitignore
deleted file mode 100644
index e69de29b..00000000
diff --git a/acme4j-letsencrypt/src/test/resources/.gitignore b/acme4j-letsencrypt/src/test/resources/.gitignore
deleted file mode 100644
index e69de29b..00000000
diff --git a/pom.xml b/pom.xml
index 9a8ce906..890185ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,7 +59,6 @@
acme4j-client
- acme4j-letsencrypt
acme4j-utils
acme4j-example