let's put the optional pointer in front, more idiomatic (yes?)
return usage info when no arguments