diff --git a/Gerrit.wiki b/Gerrit.wiki
index 625021e..753d23d 100644
--- a/Gerrit.wiki
+++ b/Gerrit.wiki
@@ -1,35 +1,33 @@
-#summary Gerrit and melange
+#summary Gerrit and Melange
 
 = Introduction =
 
-Add your content here.
-
+Melange uses Gerrit for code review.
 
 = Setup =
 
 {{{
-# add remote
-git remote add gerrit https://melange-sandbox.googlesource.com/soc
-# setup push-for-review script
-git config --global alias.push-for-review '!CURRENT=$(git symbolic-ref HEAD) && git push gerrit HEAD:refs/for/master%topic=$CURRENT'
+# setup push-for-review helper alias
+git config --global alias.push-for-review '!CURRENT=$(git symbolic-ref --short HEAD) && git push origin  ${1:-HEAD}:refs/for/master%topic=${CURRENT}${R:+,r=${R}} && echo pushed'
 # add change-id hook
 curl -Lo `git rev-parse --git-dir`/hooks/commit-msg https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x `git rev-parse --git-dir`/hooks/commit-msg
 }}}
 
-  * Log into the Gerrit UI at least once: https://melange-sandbox-review.googlesource.com
-  * if the email address in your git commits doesn't line up with the account you log into Gerrit with, you must add that email address: https://melange-sandbox-review.googlesource.com/#/settings/contact
+  * Log into the Gerrit UI at least once: https://melange-review.googlesource.com
+  * if the email address in your git commits doesn't line up with the account you log into Gerrit with, you must add that email address: https://melange-review.googlesource.com/#/settings/contact
+  * If you are a committer, you need to get added to the committer list in Gerrit.
 
 = Code Review =
 
 == Reviewing your branch ==
-  # Create a branch, work on your change, commit your change.
+  # Create a topic branch, work on your change, commit your change.
   # git push-for-review
   # in the Gerrit web UI, explicitly add at least one reviewer
   # review happens.
   # if changes are necessary, commit, rebase, go back to step 2.
 
 == Syncing and preparing your branch ==
-  # pull the latest changes to master 
+  # pull the latest changes to master
      * git checkout master
      * git pull origin master
   # rebase your branch on master git rebase master and fix possible conflicts on the way
@@ -37,18 +35,30 @@
      * git rebase master
   # git push-for-review
   # if the rebase cleared the review approvals, ask the reviewers for another look. Otherwise, the changes are almost ready to be submitted
-  # locally merge your branch into master 
+  # locally merge your branch into master
      * git checkout master
      * git merge your-branch
 
+= git push-for-review =
+
+The push-for-review alias supports some variations:
+
+if you set an 'R' environment variable, that becomes a reviewer.
+
+{{{
+R=john.smith@gmail.com git push-for-review
+}}}
+
+You can also specify a change to push:
+{{{
+git push-for-review a1b2c3
+}}}
+
 == Submitting the code ==
+
+  # get code reviewed by someone else, and receive a +2
   # click submit button in web ui
-  # push your master branch to code.google.com/p/soc
 
 = Interesting Links =
-https://wiki.openstack.org/wiki/Gerrit_Workflow
 
-= Permission Levels =
-
-  * Project Owner
-  * Committer 
\ No newline at end of file
+  * https://wiki.openstack.org/wiki/Gerrit_Workflow
