make the choice of the solver here