Start using UsageException to provide better error messages
Rev version