add width parameter to custome wave functions