using color function

color function is now public and doesn't use a second param, sampler now
uses it