Redid Lexer. Might have to redo it though