improve AddParent/AddChild, add GetParents, and fix GetFilterValue to read from parent