added tokeninput functionality