script now exits appropriately when missing arguments