Added Gradient descent code