work done on lexer, not complete, just saving progress