add deepMerge