writing error output to temp path
extracted solver interface
Added guessing solver