scroll logic update