diff --git a/community.md b/community.md
index 3e6b50c..0755fbc 100644
--- a/community.md
+++ b/community.md
@@ -29,31 +29,33 @@
 
 <hr />
 
-#### Committers
+#### PMC + Committers
 
 {:.table .table-striped}
 |                                                                    | Name              | Organization       | Apache ID  |
 |--------------------------------------------------------------------|-------------------|--------------------|------------|
 |<img src="img/team/abdullah_alamoudi.jpg" width="100" height="100"> | Abdullah Alamoudi | Couchbase          | amoudi     |
+|<img src="img/team/anonymous.jpg" width="100" height="100">         | Ate Douma         | Hippo              | ate        |
 |<img src="img/team/anonymous.jpg" width="100" height="100">         | Cameron Samak     | UC Irvine          | csamak     |
 |<img src="img/team/chen_li.jpg" width="100" height="100">           | Chen Li           | UC Irvine          | chenli     |
 |<img src="img/team/chris_hillery.jpg" width="100" height="100">     | Chris Hillery     | Couchbase          | ceej       |
+|<img src="img/team/anonymous.jpg" width="100" height="100">         | Chris Mattmann    | NASA JPL           | mattmann   |
 |<img src="img/team/heri_ramampiaro.jpg" width="100" height="100">   | Heri Ramampiaro   | NTNU Trondheim     | heri       |
 |<img src="img/team/ian_maxon.jpg" width="100" height="100">         | Ian Maxon         | UC Irvine          | imaxon     |
 |<img src="img/team/ildar_absalyamov.jpg" width="100" height="100">  | Ildar Absalyamov  | UC Riverside       | ildar      |
-|<img src="img/team/inci_cetindil.jpg" width="100" height="100">     | Inci Cetindil     | UC Irvine          | icetindil  |
 |<img src="img/team/jianfeng_jia.jpg" width="100" height="100">      | Jianfeng Jia      | UC Irvine          | jianfeng   |
+|<img src="img/team/anonymous.jpg" width="100" height="100">         | Jochen Wiedmann   | Software AG        | jochen     |
 |<img src="img/team/keren_ouaknine.jpg" width="100" height="100">    | Keren Ouaknine    | Hebrew University  | kereno     |
-|<img src="img/team/anonymous.jpg" width="100" height="100">         | Markus Dreseler   | HPI                | mrks       |
 |<img src="img/team/michael_blow.jpg" width="100" height="100">      | Michael Blow      | Couchbase          | mblow      |
 |<img src="img/team/michael_carey.jpg" width="100" height="100">     | Michael Carey     | UC Irvine          | dtabass    |
-|<img src="img/team/murtadha_hubail.jpg" width="100" height="100">   | Murtadha Hubail   | UC Irvine          | mhubail    |
+|<img src="img/team/murtadha_hubail.jpg" width="100" height="100">   | Murtadha Hubail   | Saudi Aramco       | mhubail    |
 |<img src="img/team/pouria_pirzadeh.jpg" width="100" height="100">   | Pouria Pirzadeh   | UC Irvine          | pouria     |
 |<img src="img/team/anonymous.jpg" width="100" height="100">         | Preston Carman    | UC Riverside       | prestonc   |
 |<img src="img/team/raman_grover.jpg" width="100" height="100">      | Raman Grover      | Microsoft Research | raman      |
 |<img src="img/team/sattam_alsubaiee.png" width="100" height="100">  | Sattam Alsubaiee  | KACST Saudi Arabia | salsubaiee |
 |<img src="img/team/steven_jacobs.jpg" width="100" height="100">     | Steven Jacobs     | UC Riverside       | sjaco002   |
 |<img src="img/team/taewoo_kim.jpg" width="100" height="100">        | Taewoo Kim        | UC Irvine          | wangsaeu   |
+|<img src="img/team/anonymous.jpg" width="100" height="100">         | Ted Dunning       | MapR               | tdunning   |
 |<img src="img/team/till_westmann.jpg" width="100" height="100">     | Till Westmann     | Couchbase          | tillw      |
 |<img src="img/team/vassilis_tsotras.jpg" width="100" height="100">  | Vassilis Tsotras  | UC Riverside       | tsotras    |
 |<img src="img/team/vinayak_borkar.jpg" width="100" height="100">    | Vinayak Borkar    | X15 Software       | vinayakb   |
@@ -63,6 +65,16 @@
 
 <hr/>
 
+#### Committers
+
+{:.table .table-striped}
+|                                                                    | Name              | Organization       | Apache ID  |
+|--------------------------------------------------------------------|-------------------|--------------------|------------|
+|<img src="img/team/inci_cetindil.jpg" width="100" height="100">     | Inci Cetindil     | UC Irvine          | icetindil  |
+|<img src="img/team/anonymous.jpg" width="100" height="100">         | Markus Dreseler   | HPI                | mrks       |
+
+<hr/>
+
 #### Contributors
 
 {:.table .table-striped}
diff --git a/content/community.html b/content/community.html
index 7c7f599..c95bb47 100644
--- a/content/community.html
+++ b/content/community.html
@@ -162,7 +162,7 @@
 
 <hr />
 
-<h4 id="committers">Committers</h4>
+<h4 id="pmc--committers">PMC + Committers</h4>
 
 <table class="table table-striped">
   <thead>
@@ -182,6 +182,12 @@
     </tr>
     <tr>
       <td><img src="img/team/anonymous.jpg" width="100" height="100" /></td>
+      <td>Ate Douma</td>
+      <td>Hippo</td>
+      <td>ate</td>
+    </tr>
+    <tr>
+      <td><img src="img/team/anonymous.jpg" width="100" height="100" /></td>
       <td>Cameron Samak</td>
       <td>UC Irvine</td>
       <td>csamak</td>
@@ -199,6 +205,12 @@
       <td>ceej</td>
     </tr>
     <tr>
+      <td><img src="img/team/anonymous.jpg" width="100" height="100" /></td>
+      <td>Chris Mattmann</td>
+      <td>NASA JPL</td>
+      <td>mattmann</td>
+    </tr>
+    <tr>
       <td><img src="img/team/heri_ramampiaro.jpg" width="100" height="100" /></td>
       <td>Heri Ramampiaro</td>
       <td>NTNU Trondheim</td>
@@ -217,30 +229,24 @@
       <td>ildar</td>
     </tr>
     <tr>
-      <td><img src="img/team/inci_cetindil.jpg" width="100" height="100" /></td>
-      <td>Inci Cetindil</td>
-      <td>UC Irvine</td>
-      <td>icetindil</td>
-    </tr>
-    <tr>
       <td><img src="img/team/jianfeng_jia.jpg" width="100" height="100" /></td>
       <td>Jianfeng Jia</td>
       <td>UC Irvine</td>
       <td>jianfeng</td>
     </tr>
     <tr>
+      <td><img src="img/team/anonymous.jpg" width="100" height="100" /></td>
+      <td>Jochen Wiedmann</td>
+      <td>Software AG</td>
+      <td>jochen</td>
+    </tr>
+    <tr>
       <td><img src="img/team/keren_ouaknine.jpg" width="100" height="100" /></td>
       <td>Keren Ouaknine</td>
       <td>Hebrew University</td>
       <td>kereno</td>
     </tr>
     <tr>
-      <td><img src="img/team/anonymous.jpg" width="100" height="100" /></td>
-      <td>Markus Dreseler</td>
-      <td>HPI</td>
-      <td>mrks</td>
-    </tr>
-    <tr>
       <td><img src="img/team/michael_blow.jpg" width="100" height="100" /></td>
       <td>Michael Blow</td>
       <td>Couchbase</td>
@@ -295,6 +301,12 @@
       <td>wangsaeu</td>
     </tr>
     <tr>
+      <td><img src="img/team/anonymous.jpg" width="100" height="100" /></td>
+      <td>Ted Dunning</td>
+      <td>MapR</td>
+      <td>tdunning</td>
+    </tr>
+    <tr>
       <td><img src="img/team/till_westmann.jpg" width="100" height="100" /></td>
       <td>Till Westmann</td>
       <td>Couchbase</td>
@@ -335,6 +347,35 @@
 
 <hr />
 
+<h4 id="committers">Committers</h4>
+
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th> </th>
+      <th>Name</th>
+      <th>Organization</th>
+      <th>Apache ID</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td><img src="img/team/inci_cetindil.jpg" width="100" height="100" /></td>
+      <td>Inci Cetindil</td>
+      <td>UC Irvine</td>
+      <td>icetindil</td>
+    </tr>
+    <tr>
+      <td><img src="img/team/anonymous.jpg" width="100" height="100" /></td>
+      <td>Markus Dreseler</td>
+      <td>HPI</td>
+      <td>mrks</td>
+    </tr>
+  </tbody>
+</table>
+
+<hr />
+
 <h4 id="contributors">Contributors</h4>
 
 <table class="table table-striped">
