first version of improved WaveManager