waveform: initial implementation
Merge branch 'waveform' into development