add solver utility