Why do hair colours differ?

Colours of the hair of different people differ due to the presence of transitions elements in them. Brown colour of hair is due to the presence of compounds of Iron (Fe), Cobalt (Co) and Copper (Cu), whereas molybdenum (Mo) compounds impart red colour and titanium compounds give ginger colour to the hair.