added the ability to change the algorithm used to generate the token strings