implemented directional light