solver now functionnal