added direction constraint to armijo