Add dry run functionality