work in progress on more efficient waveform updates