Updated with Zach's corrections and suggestions!