added smart constructor for directional lights