removed manual debounce from functional, as the library includes debouncing