use getopt()