using gradient descent, not backtracking line search