restructure the library a bit to allow for setting the tokens before calling verify