block scroll refactoring