begin solver