added support for map types