add forEach
add reduce