Generalize RGB type for more flexibility