debounce filtering so it doesn't block interface