refactoring tests, worked out a plan in my gist, which will implement after I switch computers.