wrap by function
show usage when no arguments given
refactor
refactor
-h, --help show usage