respecting dry_run flag