Refactor ARGV Parse and Validation add parse_arguments