add map procedure