better functioning scroll