apply instead of Reduce