Add dry_run support