more untested work on the solver