Refactored Scroller.scroll