used newWaveView in constructor, to remove redundancy