working on Lexing