experiment with requestAnimationFrame