non-capturing brackets and other tweaks to simplify parse tree