renamed TokenType from type to props to avoid confusion of new types