Scrolling support

Here is scrolling support, I'd like to see some feedback before adding tests.