refactored the scroll class a bit