almost done with solvers i think