add debounce
replace debounce with throttle