should this be before the setTimeout() to ensure multiple checkDatasets aren't queued (e.g. if a syncLoop is deayed)?