may have fixed a problem with alternation
added some parenthases handling
added support for parens