generic hue shift
hue shift