lots of progress on #9