initial work for issue 399

not ready for merging
I think this could be simplified to

    if fail and not args.force:
        sys.exit(1)