settimeout on request animation frame, and also function rename bug thanks to josh