corrected vertical wave functions
added possibility of custom effects to be used via attribute or argument