* rewrite to use more integrated code, less plugin code
  * fix setup.py not including any packages (and thus doing nothing)
  * expand test coverage