Added dryRun and abortOnError