add shell getopts