wave is created more elegantly