Please use google multimap. Difficult to read cast operations