# Below is a list of people and organizations that have contributed
# to the R8 project. Names should be added to the list like so:
#
#   Name/Organization <email address>

Google Inc.
Uber Technologies Inc.
Square Inc.

Albert Jin <albert.jin@gmail.com>
Kevin Sun <snxngxng@gmail.com>
