added optional initial vfgs inverse hessian