add function
merge