The big moment: while up is held, the speed grows a little every frame, and the loop calls update every frame. The
road starts to move.
```js
function update() {
if (keys.ArrowUp) speed += 1.2
position += speed
if (position >= trackLength) position -= trackLength
}
function loop() {
update()
draw()
requestAnimationFrame(loop)
}
```
What it means
if (keys.ArrowUp) speed += 1.2: while up is held, 1.2 more speed every frame.
loop now calls update() before draw(): first move, then draw.
Your turn
In update, at the top, write the ArrowUp line and an empty line.