Preliminary solver