add in single timeout implementation of debounce