why is it here not IMHO simpler to parse ```(\S+ )?\(\S+\)``` instead of more cryptic ```([^\s\(]+\s)?\([^)]*\)``` ?