Solver, theory and algorithm.