another major rework - making it scroll like a page rather than a viewport