Initial commit.  TODO: LOTS of cleanup.