Lexer work, needs to be fixed...
Did a little more work, still needs to be better