lexer and parser done and working