created TokenReader interface with impl