I fixed some tabs, which threw off this diff a bit.  Everything below here is actually unchanged.