use getopts