getopt module to hand the complex options and arguments