switched from solver_specific_opts to kwargs