-- working on solver interface