accept labels and color values as optional