I don't like where this is going... Added a few more classes and a seperate lexer/parser for character groups