added debounce and throttle to some events