split optical propagation into separate module