FIXED: solvers now use pointers: easier to modularize the code and somewhat faster
FIXED: solvers now use pointers: easier to modularize the code and somewhat faster