Updated generateToken function