Why do we need a pool of  solvers? Why not just create a new solver every time we call magnifying glass?