re-factoring scrollsurface