applied requestAnimationFrame to updatePositions() call. also impacted scroll listener