diff --git a/src/main/resources/Documentation/about.md b/README.md
similarity index 65%
rename from src/main/resources/Documentation/about.md
rename to README.md
index 247ff23..c7ee16a 100644
--- a/src/main/resources/Documentation/about.md
+++ b/README.md
@@ -1,25 +1,32 @@
+# Gerrit pull-replication plugin
+
 This plugin can automatically mirror repositories from other systems.
 
 Overview
 --------
 
 Typically replication should be done over SSH, with a passwordless
-public/private key pair.  On a trusted network it is also possible to
+public/private key pair. On a trusted network it is also possible to
 use replication over the insecure (but much faster due to no
 authentication overhead or encryption) git:// protocol, by enabling
 the `upload-pack` service on the receiving system, but this
-configuration is not recommended.  It is also possible to specify a
-local path as replication source. This makes e.g. sense if a network
+configuration is not recommended. It is also possible to specify a
+local path as replication source. This makes sense if a network
 share is mounted to which the repositories should be replicated from.
 
-Access
-------
+## Access
+
 
 To be allowed to trigger pull replication a user must be a member of a
 group that is granted the 'Pull Replication' capability (provided
 by this plugin) or the 'Administrate Server' capability.
 
-Change Indexing
---------
+## Change Indexing
+
 
 Changes will be automatically indexed upon replication.
+
+
+For more information please refer to the [docs](src/main/resources/Documentation)
+
+
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java
index 251f39f..a01a6d8 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationModule.java
@@ -34,6 +34,7 @@
 import com.google.inject.assistedinject.FactoryModuleBuilder;
 import com.google.inject.internal.UniqueAnnotations;
 import com.google.inject.name.Names;
+import com.googlesource.gerrit.plugins.deleteproject.cache.CacheDeleteHandler;
 import com.googlesource.gerrit.plugins.replication.AutoReloadSecureCredentialsFactoryDecorator;
 import com.googlesource.gerrit.plugins.replication.ConfigParser;
 import com.googlesource.gerrit.plugins.replication.CredentialsFactory;
@@ -42,6 +43,7 @@
 import com.googlesource.gerrit.plugins.replication.StartReplicationCapability;
 import com.googlesource.gerrit.plugins.replication.pull.api.FetchApiCapability;
 import com.googlesource.gerrit.plugins.replication.pull.api.FetchJob;
+import com.googlesource.gerrit.plugins.replication.pull.api.ProjectDeletionAction;
 import com.googlesource.gerrit.plugins.replication.pull.auth.PullReplicationGroupModule;
 import com.googlesource.gerrit.plugins.replication.pull.client.FetchApiClient;
 import com.googlesource.gerrit.plugins.replication.pull.client.FetchRestApiClient;
@@ -68,6 +70,9 @@
 
   @Override
   protected void configure() {
+    bind(CacheDeleteHandler.class);
+    bind(ProjectDeletionAction.class).in(Scopes.SINGLETON);
+
     bind(MetricMaker.class)
         .annotatedWith(Names.named(ReplicationQueueMetrics.REPLICATION_QUEUE_METRICS))
         .toInstance(pluginMetricMaker);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java
index 72a0182..95082b8 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java
@@ -20,7 +20,6 @@
 import com.google.inject.Scopes;
 import com.google.inject.name.Names;
 import com.google.inject.servlet.ServletModule;
-import com.googlesource.gerrit.plugins.deleteproject.cache.CacheDeleteHandler;
 import com.googlesource.gerrit.plugins.replication.pull.BearerTokenProvider;
 
 public class HttpModule extends ServletModule {
@@ -47,9 +46,6 @@
                   .in(Scopes.SINGLETON);
             });
 
-    bind(CacheDeleteHandler.class);
-    bind(ProjectDeletionAction.class).in(Scopes.SINGLETON);
-
     DynamicSet.bind(binder(), AllRequestFilter.class)
         .to(PullReplicationFilter.class)
         .in(Scopes.SINGLETON);
