work in linear color space