added the ability to change the algorithm used to generate the token strings. added files missing in last commit