add waves and fixes