separated out multimap and bag