use native forEach and map if available