more pieces of setsolver logic