add wave function