tightened up tokeninput