implemented wave propagation, sine mode and a lot of other things