started implementing lexer