Add dry-run functionality