color as abstract type