added a factory for the wave