scroll catch-up working, will optimise