Improved getopts.