add support for pair and therefore maps