working on lexer and parser, lexer is passing tests