Lexer

Made changes should have mostly everything but probably missing a few
things