first commit.  almost complete, but not working