solver ready, need more testing, and pretty output - next up substitution scores