diff --git a/content/community.html b/content/community.html
index a9f0987..d4e0b8a 100644
--- a/content/community.html
+++ b/content/community.html
@@ -129,27 +129,27 @@
   <tbody>
     <tr>
       <td>dev</td>
-      <td>dev@asterixdb.incubator.apache.org</td>
-      <td>dev-subscribe@asterixdb.incubator.apache.org</td>
-      <td><a href="https://mail-archives.apache.org/mod_mbox/incubator-asterixdb-dev/">link</a></td>
+      <td>dev@asterixdb.apache.org</td>
+      <td>dev-subscribe@asterixdb.apache.org</td>
+      <td><a href="https://mail-archives.apache.org/mod_mbox/asterixdb-dev/">link</a></td>
     </tr>
     <tr>
       <td>users</td>
-      <td>users@asterixdb.incubator.apache.org</td>
-      <td>users-subscribe@asterixdb.incubator.apache.org</td>
-      <td><a href="https://mail-archives.apache.org/mod_mbox/incubator-asterixdb-users/">link</a></td>
+      <td>users@asterixdb.apache.org</td>
+      <td>users-subscribe@asterixdb.apache.org</td>
+      <td><a href="https://mail-archives.apache.org/mod_mbox/asterixdb-users/">link</a></td>
     </tr>
     <tr>
       <td>commits</td>
-      <td>commits@asterixdb.incubator.apache.org</td>
-      <td>commits-subscribe@asterixdb.incubator.apache.org</td>
-      <td><a href="https://mail-archives.apache.org/mod_mbox/incubator-asterixdb-commits/">link</a></td>
+      <td>commits@asterixdb.apache.org</td>
+      <td>commits-subscribe@asterixdb.apache.org</td>
+      <td><a href="https://mail-archives.apache.org/mod_mbox/asterixdb-commits/">link</a></td>
     </tr>
     <tr>
       <td>notifications</td>
-      <td>notifications@asterixdb.incubator.apache.org</td>
-      <td>notifications-subscribe@asterixdb.incubator.apache.org</td>
-      <td><a href="https://mail-archives.apache.org/mod_mbox/incubator-asterixdb-notifications/">link</a></td>
+      <td>notifications@asterixdb.apache.org</td>
+      <td>notifications-subscribe@asterixdb.apache.org</td>
+      <td><a href="https://mail-archives.apache.org/mod_mbox/asterixdb-notifications/">link</a></td>
     </tr>
   </tbody>
 </table>
diff --git a/content/dev-setup.html b/content/dev-setup.html
index 09fe42e..d252ee6 100644
--- a/content/dev-setup.html
+++ b/content/dev-setup.html
@@ -159,7 +159,7 @@
   <li>A suitable *nix environment (Linux, OSX)</li>
   <li>JDK 1.8+</li>
   <li>Maven 3.3.9 or greater</li>
-  <li>A relatively recent version of Eclipse</li>
+  <li>Eclipse Juno (or later) or IntelliJ IDEA 15.0 (or later)</li>
 </ul>
 
 <h3 id="steps">Steps</h3>
@@ -238,8 +238,8 @@
   </li>
   <li>Set up Eclipse code formatting rules
     <ul>
-      <li>Download files <a href="https://cwiki.apache.org/confluence/download/attachments/61322291/AsterixCodeFormatProfile.xml">AsterixCodeFormatProfile.xml</a> 
- <a href="https://cwiki.apache.org/confluence/download/attachments/61322291/AsterixCleanupFormatProfile.xml">AsterixCleanupFormatProfile.xml</a></li>
+      <li>Download files <a href="https://cwiki.apache.org/confluence/download/attachments/61322291/AsterixCodeFormatProfile.xml">AsterixCodeFormatProfile.xml</a>
+   <a href="https://cwiki.apache.org/confluence/download/attachments/61322291/AsterixCleanupFormatProfile.xml">AsterixCleanupFormatProfile.xml</a></li>
       <li>Import profiles into Eclipse
         <ul>
           <li>Preferences -&gt; Java -&gt; Code style -&gt; Formatter -&gt; Import -&gt; Select AsterixCodeFormatProfile.xml</li>
@@ -272,32 +272,33 @@
   <li>Visit the above URL, and click on “Register” in the upper right.</li>
   <li>Gerrit uses OpenID; you may create an account using any OpenID provider, or with a Yahoo! account.</li>
   <li>Click on “Sign in with a Yahoo! ID”. You will be taken to a page to log in to Yahoo!.</li>
-  <li>From there, you will get a page asking you to allow asterix-gerrit.ics.uci.edu to access your email and basic information.  Approve this request.</li>
+  <li>From there, you will get a page asking you to allow <code>asterix-gerrit.ics.uci.edu</code> to access your email and basic information.  Approve this request.</li>
   <li>You will be directed back to Gerrit to complete the account signup. Make sure to fill out this page! It is necessary to allow you to push code changes to Gerrit for review.</li>
   <li>For “Full Name” and “Preferred Email”, enter what you like. If you would like to register a different email address such as an @uci.edu address, you may do so. This is where Gerrit will send you notifications about code review requests, voting, and so on.</li>
   <li>For “Select a unique username”, choose a short alphanumeric ID. This will be your ssh username for git access. Be sure to click “Select Username” to verify that the name is unique and allowed.</li>
   <li>Also provide a ssh public key here. There is information on the page on creating one if you do not have one. Click “Add” when done.
-    * Note that you can create a new ssh public key just for Gerrit if you like; if you do so you will need to modify your .ssh/config file to ensure the right key is selected.</li>
+Note that you can create a new ssh public key just for Gerrit if you like; if you do so you will need to modify your <code>.ssh/config</code> file to ensure the right key is selected.</li>
   <li>Click “Continue” at the bottom of the page.</li>
   <li>
-    <p>Finally, verify that you have everything set up: From a command-line, type
-<code>
-ssh -p 29418 username@asterix-gerrit.ics.uci.edu
-</code></p>
-  </li>
-  <li>You should see</li>
-</ol>
+    <p>Finally, verify that you have everything set up: From a command-line, type</p>
 
-<pre><code>  ****    Welcome to Gerrit Code Review    ****
-
-  Hi Full Name, you have successfully connected over SSH.
-
-  Unfortunately, interactive shells are disabled.
-  To clone a hosted Git repository, use:
-
-  git clone ssh://username@asterix-gerrit.ics.uci.edu:29418/REPOSITORY_NAME.git
-
+    <pre><code>ssh -p 29418 username@asterix-gerrit.ics.uci.edu
 </code></pre>
+  </li>
+  <li>
+    <p>You should see</p>
+
+    <pre><code>****    Welcome to Gerrit Code Review    ****
+
+Hi Full Name, you have successfully connected over SSH.
+
+Unfortunately, interactive shells are disabled.
+To clone a hosted Git repository, use:
+
+git clone ssh://username@asterix-gerrit.ics.uci.edu:29418/REPOSITORY_NAME.git
+</code></pre>
+  </li>
+</ol>
 
 <p>At this point, please send an email to Chris or Ian, specifying the email address of your new account, and ask to be added to the “AsterixDB Devs” group. You may push change proposals to Gerrit, and vote +1/-1 Code Review on any proposals without being in AsterixDB Devs, but you cannot vote +2 on anything to allow a change to be merged.</p>
 
@@ -308,15 +309,21 @@
 <h3 id="one-time-tasks">One-time tasks</h3>
 
 <ol>
-  <li>At the command-line, run the following. Replace “username” with the user name you chose in step 7 above.
-<code>
-git config --global gerrit.url ssh://username@asterix-gerrit.ics.uci.edu:29418/
-</code></li>
-  <li>Download my “git-gerrit” utility library:
-<code>
-git clone https://github.com/ceejatec/git-gerrit
-</code></li>
-  <li>Ensure that the <code>git-gerrit/git-gerrit</code> script is on your PATH. You could copy it to somewhere, but it would be best to leave it inside the github clone so you can easily get updates.</li>
+  <li>
+    <p>At the command-line, run the following. Replace “username” with the user name you chose in step 7 above.</p>
+
+    <pre><code>git config --global gerrit.url ssh://username@asterix-gerrit.ics.uci.edu:29418/
+</code></pre>
+  </li>
+  <li>
+    <p>Download my “git-gerrit” utility library:</p>
+
+    <pre><code>git clone https://github.com/ceejatec/git-gerrit
+</code></pre>
+  </li>
+  <li>
+    <p>Ensure that the <code>git-gerrit/git-gerrit</code> script is on your PATH. You could copy it to somewhere, but it would be best to leave it inside the github clone so you can easily get updates.</p>
+  </li>
 </ol>
 
 <h3 id="once-per-repository-tasks">Once-per-repository tasks</h3>
@@ -342,7 +349,7 @@
 
 <ol>
   <li>
-    <p>When you want to start working on a bug, feature, etc, first make a local <code>git</code> branch. Never work directly on 
+    <p>When you want to start working on a bug, feature, etc, first make a local <code>git</code> branch. Never work directly on
     <code>master</code>! <code>master</code> should always be a pure mirror of <code>origin/master</code>, i.e., the GitHub mirror or the ASF repository.</p>
 
     <pre><code>git checkout -b my_branch
@@ -393,11 +400,12 @@
 
 <p>In that case, you may notice that the list of changes on the branch still contains older commits which have been merged. That is due to the unfortunate way Gerrit works; it requires squashing to a single git commit for review, which loses the association with the original commits in your history.</p>
 
-<p>It is also possible that you may want to re-use a branch and git-gerrit fails to notice that the older change has been merged - or perhaps the change was Abandoned on Gerrit and not merged, and you want to continue working on the same branch to create a new proposal. In this case, run
-<code>
-git gerrit new
-</code>
-on your branch. This will force git-gerrit to create a new Change-Id and commit message the next time you run <code>git gerrit submit</code>.</p>
+<p>It is also possible that you may want to re-use a branch and git-gerrit fails to notice that the older change has been merged - or perhaps the change was Abandoned on Gerrit and not merged, and you want to continue working on the same branch to create a new proposal. In this case, run</p>
+
+<pre><code>git gerrit new
+</code></pre>
+
+<p>on your branch. This will force git-gerrit to create a new Change-Id and commit message the next time you run <code>git gerrit submit</code>.</p>
 
 <hr />
 
@@ -405,17 +413,29 @@
 
 <h3 id="verification">Verification</h3>
 
-<p>As of right now, whenever a patch set is submitted to Gerrit (i.e. whenever a user performs ‘git gerrit submit’) are automatically picked up by Jenkins, which runs <code>mvn verify</code> to test the patch fully. Once the build finishes, Jenkins comments on the patchset and votes with the result (+1 for all tests passing, -1 for anything less). Ideally, and in most cases, verifocation of a patchset reqires no intervention. However there are a few exceptions to this as detailed below.</p>
+<p>As of right now, whenever a patch set is submitted to Gerrit (i.e. whenever a user performs ‘git gerrit submit’) are automatically picked up by Jenkins, which runs <code>mvn verify</code> to test the patch fully.
+Once the build finishes, Jenkins comments on the patchset and votes with the result (+1 for all tests passing, -1 for anything less).
+Ideally, and in most cases, verification of a patchset reqires no intervention.
+However there are a few exceptions to this as detailed below.</p>
 
 <h3 id="retrigggering-builds-and-triggering-builds-manually">Retrigggering builds and triggering builds manually</h3>
 
 <h4 id="retriggering">Retriggering</h4>
-<p>Occasionally, there are builds in which tests failed, but perhaps not for a reason that has anything to do with the proposed patch’s changes. For example, on occasion the Integration tests can have issues with ports on the build server already being bound. The simple work around to this is to try building again.</p>
+<p>Occasionally, there are builds in which tests failed, but perhaps not for a reason that has anything to do with the proposed patch’s changes.
+For example, on occasion the Integration tests can have issues with ports on the build server already being bound.
+The simple work around to this is to try building again.</p>
 
-<p>One way to perform this is by simply visiting the link that is posted on Gerrit by Jenkins, and hitting the ‘Retrigger’ link on the left-hand side of the page. This will try retesting the build with the exact same parameters as last time, hopefully with a different result.</p>
+<p>One way to perform this is by simply visiting the link that is posted on Gerrit by Jenkins, and hitting the ‘Retrigger’ link on the left-hand side of the page.
+This will try retesting the build with the exact same parameters as last time, hopefully with a different result.</p>
 
 <h4 id="manual-trigger">Manual Trigger</h4>
-<p>Builds of Gerrit patches can also be fully manually triggered from Jenkins. This can be desirable if a change is now dependent on a Hyracks change (via the Topic field feature described below), or if the patch is a draft or is not triggered automatically for any other reason. To manually trigger a build of a patchset, visit the Jenkins front-page, and click the ‘Query and Trigger Gerrit patches’ link. This should link to a page allowing you to manually trigger Gerrit patches. In the search field any query that can be searched in the Gerrit web interface can be used, but the default query of all open patchsets is likely fine. Hit the ‘Search’ button, and then click the checkbox that represents the patch that needs to be built. Then simply click ‘Trigger Selected’ and the patch will start building.</p>
+<p>Builds of Gerrit patches can also be fully manually triggered from Jenkins.
+This can be desirable if the patch is a draft or is not triggered automatically for any other reason.
+To manually trigger a build of a patchset, visit the Jenkins front-page, and click the ‘Query and Trigger Gerrit patches’ link.
+This should link to a page allowing you to manually trigger Gerrit patches.
+In the search field any query that can be searched in the Gerrit web interface can be used, but the default query of all open patchsets is likely fine.
+Hit the ‘Search’ button, and then click the checkbox that represents the patch that needs to be built.
+Then simply click ‘Trigger Selected’ and the patch will start building.</p>
 
 <hr />
 
