debouncing buttons with timer