added an exception for bad  usage