added Solve functionality