implemented waves