std map is doable after all