sinewave update

Refined the code a bit, made Add Wave behavior less random. Literally