keep tidying up, more refining of argument parsing. closes #7