Add merge_with method