new file:   getopt