lexer implementation added.