[new] map implementation