added unit test for solvers and fixed solver bugs