added first light propagation algorithm