accumulate merge