updated createToken function