-further work on solver