added multimap support