first version of wrapped c++ lbfgs