new template base class based only on precision, updated all solver implementations. not working solvers: MKL ISS, PETSc serial. everything else is working in one way or another.