switched from getopt to arg.h