token and character structure