use a dictionary instead of list for O(1) lookup times for fully qualified node lookups
assigned to @apeck
merged