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