color with constraint solver