added implementation of ReadOnlyDictionary