a bunch of work on #10