auto scrolling and scroll state save/restore