initial support for getopt