this is not good, if color is 2nd position it wont probably work.
and this code is really duplicated :/