keep cleaning code in Solver