API changes, separation of solver, model and result