debouncing doesn't work perfectly