great job done!!!
everything comes clear, for any given question to SolverCore, 3 possible results
1. solved
2. broken
3. unknown
on the top level it's job of SolverCore's run
on the second and deeper, it becomes SolverCoreExt's run and run2
on the run2, there is recursive.