fix #3 by lazily fetch constraint solvers