Commiting this anyway; I'll probably work on this on Google Docs.