it works! lexer creates tokens successfully, and no more clunky statements. whew!