style convention + get back to using setTimeout rather than requestAnimationFrame