cleanup -- remove mark1; mark3 does everything we need
[m]
bugfix -- the solver previously thought these situations were unsolvable
implement automated tests for the solver as a whole
documentation only