Updated Gradient code