getopt is wtitten in C