Understanding Light and Rainbows