removed GNU getopt requirement