Wrote a new solver framework.