add getopt and getopt_long