make the separation move more of the logic into process_args, but take the getopts logic out