Added Waves, fixes #20, many small changes.