solver work in progress 2