more clever color generation