support for ?, +, and * added for parentheses