Looks good, but it wont work for my needs (my fault for not being detailed enough in the first post, sorry) The value must be a string, so they will all be Dictionary <int, string > The 1st post was only trying to give an example, and in the real app, the values will be things that are not represented by .net classes (I could make classes for each type, but again that means loads of classes)