reduce
merge