getopt() added