Builds, but lots more work needed. Fun fact: this code was written collaboratively in a Google Doc. Change-Id: I8a89c5d0fdc71ec28cf432350e65d17e24a6f25c