add support for Map