more flexible color class