initial CLI commit
add argument checking and usage message
don't commit test console messages...
further build CLI
refactor packages
finalize CLI