created Solver() class