Initial commit.  Lots of spec failures but
should work for the most part.