add map functionality