added the default call to usage() if ARGV is not defined