added wave functions