improve scrolling mechanism