stop using setTimeouts, causing frame budget issues