lots of changes to scrolling and layout