add tests, update NEWS and docs, add function to expose solver model