uses new Shade.Light objects