rule for parenthesis
refactor