add debouncing and remove a leakin view.size() call