bug fix: only run one syncing thread