No longer re-evaluating the best line search vector/gradient at each iteration
Now using scaled BFGS update