Do we really need this additional data structure? It seems to add complexity, and I'm not sure it's necessary.