added generic interface for lp solvers