map functionality extended