refactoring - Token struct