moved solvers to separate package