Added explanation to introduce first order method