waveform streaming
update with some extra functionality