lexer kinda works