How rainbows are created