added TokenGenerator