diff --git a/.gitignore b/.gitignore
index ea5889f..88b8d07 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,2 @@
 /.classpath
 /.project
-/.buckd
-/buck-cache
-/buck-out
diff --git a/BUCK b/BUCK
deleted file mode 100644
index d77534a..0000000
--- a/BUCK
+++ /dev/null
@@ -1,9 +0,0 @@
-gerrit_plugin(
-  name = 'hooks',
-  srcs = glob(['src/main/java/**/*.java']),
-  resources = glob(['src/main/resources/**/*']),
-  manifest_entries = [
-    'Gerrit-PluginName: hooks',
-    'Gerrit-Module: com.googlesource.gerrit.plugins.hooks.Module'
-  ]
-)
diff --git a/BUILD b/BUILD
new file mode 100644
index 0000000..4f332ac
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,11 @@
+load("//tools/bzl:plugin.bzl", "gerrit_plugin")
+
+gerrit_plugin(
+    name = "hooks",
+    srcs = glob(["src/main/java/**/*.java"]),
+    manifest_entries = [
+        "Gerrit-PluginName: hooks",
+        "Gerrit-Module: com.googlesource.gerrit.plugins.hooks.Module",
+    ],
+    resources = glob(["src/main/resources/**/*"]),
+)
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerAdded.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerAdded.java
index 8575a45..e8b6d01 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerAdded.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/ReviewerAdded.java
@@ -14,6 +14,7 @@
 
 package com.googlesource.gerrit.plugins.hooks;
 
+import com.google.gerrit.extensions.common.AccountInfo;
 import com.google.gerrit.extensions.common.ChangeInfo;
 import com.google.gerrit.extensions.events.ReviewerAddedListener;
 import com.google.inject.Inject;
@@ -31,17 +32,19 @@
   }
 
   @Override
-  public void onReviewerAdded(ReviewerAddedListener.Event event) {
-    HookArgs args = hookFactory.createArgs();
-
+  public void onReviewersAdded(ReviewerAddedListener.Event event) {
     ChangeInfo c = event.getChange();
-    args.add("--change", c.id);
-    args.addUrl(c);
-    args.add("--change-owner", c.owner);
-    args.add("--project", c.project);
-    args.add("--branch", c.branch);
-    args.add("--reviewer", event.getReviewer());
+    for (AccountInfo reviewer: event.getReviewers()) {
+      HookArgs args = hookFactory.createArgs();
 
-    hook.submit(c.project, args);
+      args.add("--change", c.id);
+      args.addUrl(c);
+      args.add("--change-owner", c.owner);
+      args.add("--project", c.project);
+      args.add("--branch", c.branch);
+      args.add("--reviewer", reviewer);
+
+      hook.submit(c.project, args);
+    }
   }
 }
diff --git a/src/main/resources/Documentation/hooks.md b/src/main/resources/Documentation/hooks.md
index 6b0e0ea..2bd19d3 100644
--- a/src/main/resources/Documentation/hooks.md
+++ b/src/main/resources/Documentation/hooks.md
@@ -148,5 +148,5 @@
   cla-signed --submitter <submitter> --user-id <user_id> --cla-id <cla_id>
 ```
 
-[1]: config.html#hooks.syncHookTimeout
+[1]: config.md#hooks.syncHookTimeout
 [2]: ../../../Documentation/json.html#patchSet
