requestAnimationFrame instead of setInterval on client
HTML cleanup