New solver with abstract solver