#3 moving loop to a tick method
#3 adding force flag in options (default: false)
#3 using force flag to skip existing files