add graident_descent