cleaner, more satisfying solution to scrolling issue #29