simple example works, need test suite, better error handling