use read instead of a custom parentheses parser