promises only complete once, compare filenames