added map with promise