positional args causing problems when options not set so moved to end
added logging all commands on a dryrun
loads of other fixes