added solver.py