added gradient.go