initial structure of the solver