work on smarter scrolling