support reduction operations
merge