thanks guys,
after reading more and getting a better understanding of hashes of hashes i think this is what im after for my package.
I think i was just overcomplicating the problem by trying to break the data structure down into too many different pieces ...
anyways thanks again