with file Promise