I'd like to suggest including a tree structure with the PLC tags for browsing purposes. Currently, with the way that opc.list() works, I have to build a tree from the root without knowing how many branches or leaves there are. So, in order to determine if the node is a leaf or a branch, I have to run list on it as well. I can't use properties on the nodes, because running it on branches leads to exceptions. I don't want to use try/catch and assume if I get an exception that it's a branch. So, building a tree of tags in any real PLC takes ages. I'm hoping a builtin tree structure would help. Ideally, this would be able to generate a XML/JSON file/string or generate a nested dictionary structure. Any would do, but for now, I'm essentially stuck making the user wait for tree updates and/or asking them to manually enter tags.