add solver with logical methods