re-auth when the token expires
minor bug fixes and tweaking
more and better tests
test coverage via simplecov