Abstract gradient

Complete and Continue