better encapsulation for the solvers