This seems to be working!
Here is a second commit.