'run' now uses timeout so it wont crash the browser