Rewrote extra::getopts to use methods