replaced default values with parameter validation and usage output