hardware debouncing