implemented gerstner wave