good practice to debounce when adding listeners to events like window scroll and resize