add linear solver