Abstract Gradient Design