first generation
token generation added