add map fucntion