change solve to evaluate