Multiple wave implementation added