waves implemented