refactor option processing to be more flexible
cleanup
add dirs.home()