Now based on Microsoft Scripting.Dictionary