lots of code separation. distinction between lexeme and token made