Start to implement the solver