catch errors and pretty print usage

use kwargs to run commands

use args to run commands.  a little more sensical this time
Merge branch 'squashpull'