add hsv function to gradient