working usage and parsed arguments and basic validation